必需的字段验证器不适用于Databound下拉列表

时间:2014-07-31 17:45:11

标签: c# asp.net validation visual-studio-2012 requiredfieldvalidator

我有一个下拉列表,其中包含当用户点击按钮时未显示的必填字段验证程序。用户必须从下拉列表中选择一个项目,如果他将其留在 - 选择一个 - 将触发所需的字段验证器。我注意到它在firebug上显示隐藏的可见性。

<span id="MainContent_RequiredFieldValidator1" style="color: red; visibility: hidden;">*</span>

这适用于我不是Databound的其他下拉列表。它显示了可见性:此下拉列表可见。

 <asp:DropDownList ID="ddlCenter" runat="server" AppendDataBoundItems="True"         
    CssClass="form-control textBoxAsp" DataSourceID="SqlDataSourceCenter" 
    DataTextField="Desc" DataValueField="CenterID">
    <asp:ListItem Text="--Select One--" Value="0" Selected="True" />
 </asp:DropDownList>

 <asp:RequiredFieldValidator runat="server" ID="RequiredFieldValidator1"
     ControlToValidate="ddlCenter"
     Text="*"
     ForeColor="Red"
     ErrorMessage="Center is required."
     InitialValue ="--Select One--"
     ValidationGroup="InsertCenter" />

  <asp:ValidationSummary ID="ValidationSummary1" ForeColor="Red" runat="server" ValidationGroup="InsertCenter" />

   <a runat="server" onserverclick="btnAddCenter_Click" id="btnAddUser" validationgroup="InsertEmployee">Add Center</a>

我尝试设置Display="Static",但Validator控件的style属性实际设置为“visibility:hidden”。

我尝试设置集Display="Dynamic",但Validator控件样式属性实际设置为“display:none

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

Initial Value引用Value的{​​{1}}属性,而不是DropDownList值;因此,请尝试将Text的{​​{1}}设置为0。