2010-04-14 7 views
4

asp.net에 두 개의 드롭 다운 목록이 있습니다. 둘 다 필수 필드 유효성 검사기에 할당됩니다. 디자이너 코드가 지금은 필드를 선택한 다음, 다시 한 번 "가서 선택하면됩니다 무슨필수 필드 유효성 검사기가 드롭 다운 목록 포스트에서 사라집니다.

<asp:DropDownList ID="ddlEmp" AutoPostBack="true" runat="server"></asp:DropDownList> 
    <asp:RequiredFieldValidator ID="rfvEmp" runat="server" ControlToValidate="ddlEmp" ErrorMessage ="employee" InitialValue="0"> 
    </asp:RequiredFieldValidator> 

    <asp:DropDownList ID="DropDownList1" AutoPostBack="true" runat="server"></asp:DropDownList> 
    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="DropDownList1" ErrorMessage ="DropDownList1" InitialValue="0"> 
    </asp:RequiredFieldValidator> 
    <asp:Button ID="btn" runat="server" CausesValidation="true" /> 

다음과 같다

if (!Page.IsPostBack) 
     { 
      DataTable dt = new DataTable(); 
      dt.Columns.Add("emp"); 
      dt.Columns.Add("ename"); 
      for (int i = 0; i < 5; i++) 
      { 
       DataRow dr = dt.NewRow(); 
       dr["emp"] = (i + 1).ToString(); 
       dr["ename"] = (i + 1).ToString(); 
       dt.Rows.Add(dr); 
      } 
      ddlEmp.DataSource = dt; 
      ddlEmp.DataTextField = "emp"; 
      ddlEmp.DataValueField = "ename"; 
      ddlEmp.DataBind(); 
      ListItem l1 = new ListItem("--Select--", "0"); 
      ddlEmp.Items.Insert(0, l1); 
      DropDownList1.DataSource = dt; 
      DropDownList1.DataTextField = "emp"; 
      DropDownList1.DataValueField = "ename"; 
      DropDownList1.DataBind(); 
      DropDownList1.Items.Insert(0, l1); 

     } 

아래로

코드 숨김입니다 - 선택 - "이면 유효성 검사기가 나타나고 사라집니다.

왜 유효성 검사기를 사용하지 않습니까? 어디서 잘못 가고 있습니까?

헤마

답변

1

이 문제는 나에게 시간의 무리를 물린하고있다 그들이 내 의견을 설계하는 방법을 조금 엉뚱한 그냥 때문이다.

문제는 InitialValue 속성을 사용하여 텍스트 값과 비교해야 할 때 목록 항목의 value 속성과 비교하는 것입니다. 선택에 부착

<asp:RequiredFieldValidator ID="rfvEmp" runat="server" ControlToValidate="ddlEmp" ErrorMessage="employee" InitialValue="--Select--"> 
</asp:RequiredFieldValidator> 

<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="DropDownList1" ErrorMessage ="DropDownList1" InitialValue="--Select--"> 
</asp:RequiredFieldValidator> 

클라이언트 측 코드가 표시되어있는 값을 비교하고, 값이 아닌 : 그들은

다음에 RequiredFieldValidator 변경 ... 재산 InitialText 또는 뭔가 이름이 있어야합니다 무대 뒤에서.

+0

안녕하세요, 나는 똑같은 문제에 직면 해 있습니다. – SANDEEP

+0

죄송합니다. 사실이 아닙니다. InitialValue는 DDL의 SelectedValue.http와 비교합니다. //msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.requiredfieldvalidator.initialvalue%28v=vs.110%29.aspx 이것이 왜 정답은 그쪽. 나는 같은 문제가있다. 지금까지 행운을 빈다, 드롭 다운 autopostback 트리거 및 빨간색 오류 메시지가 방금 다시 게시하는 동안 깜박 .. : / – Osvier

0

작업 : 선택한 항목이 기본 항목 인 경우 자동 게시판에서 실행되는 코드 비헤이비어 메서드에서 RequiredFieldValidator1.IsValid 특성을 false로 설정합니다.