2017-01-16 7 views
1

업데이트 패널에 제출 양식이 있습니다. 사용자가 값을 입력하지 않고 제출 단추를 누르면 모든 필수 필드에 유효성 확인 메시지가 표시됩니다.ASP.Net - 드롭 다운 항목 변경 후 업데이트 패널의 유효성 검사 오류가 사라짐

이제 사용자가 드롭 다운 컨트롤에서 항목을 선택하거나 변경하면 모든 유효성 검사 메시지가 사라집니다. 드롭 다운 컨트롤은 AutoPostBack = "true"입니다.

이 문제를 해결하기 위해 하나의 업데이트 패널에 다른 모든 컨트롤을 넣으려고했지만 다른 패널에는 다른 컨트롤을 넣으려고했지만 문제가 해결되지 않았습니다.

답변

0

DropDownList 이벤트가 완료되면 SelectedIndexChanged 이벤트가 완료된 후 수동으로 유효성 검사를 호출 할 수 있습니다. Page_ClientValidate('myGroup');

이의 유일한 단점은 그것이 모든 유효성 검사기,에 의해 활성화 된 장치뿐 아니라 트리거 것입니다 : 당신이 ValidationGroup를 사용하는 경우

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    // your code 
    ScriptManager.RegisterStartupScript(Page, Page.GetType(), "validateForm", "setTimeout(function() { Page_ClientValidate(); }, 25);", true); 
} 

, 당신은 함수를 지정해야 PostBack을 수행하는 DropDownList 위의 사용자.

2

당신은 당신의 업데이트 패널에서 이것을 시도 할 수 있습니다 :
<asp:UpdatePanel ID="UP1" runat="server" UpdateMode="Conditional"> <ContentTemplate> <Triggers> <asp:AsyncPostBackTrigger ControlID="DropDownList ID Here" /> </Triggers> <ContentTemplate> </asp:UpdatePanel>

또는

을 자바 스크립트 코드를 사용하여 :

if (document.getElementById("<%=DropDownList ID.ClientID%>").value == "--SELECT--") { alert('Your Message Here'); document.getElementById("<%=DropDownList ID.ClientID %>").focus(); return false; } else { return true; }