使用c#验证asp.net中的下拉列表?

时间:2012-09-02 16:21:43

标签: c# asp.net validation drop-down-menu

我在页面上有一个下拉列表,默认情况下显示的选项是“请选择一个”。目前用户可以选择该选项并访问下一页,我想要做的是选择“请选择一个”确保在选择下拉列表中的实际选项之前不会访问下一页/步骤。

我猜测某种If语句,但我不确定如何做到这一点。

任何帮助都会很棒。

这是我ddl的代码

 <td class="question">
     Out of Hours Working:
 </td>
 <td>
    <asp:DropDownList ID="ddlout" runat="server" Width="150px">
      <asp:ListItem Text="Please Select One"></asp:ListItem>
      <asp:ListItem Text="Yes"></asp:ListItem>
      <asp:ListItem Text="No"></asp:ListItem>
    </asp:DropDownList>
    <span class="mandatory">*</span>
    <asp:RequiredFieldValidator
        ID="RequiredFieldValidator14" runat="server" ControlToValidate="ddlout"
        ErrorMessage=" Required." InitialValue="Please select one..."
        ForeColor="Red" SetFocusOnError="true"></asp:RequiredFieldValidator>
 </td>

1 个答案:

答案 0 :(得分:3)

而不是使用<asp:RequiredFieldValidator>使用<asp:CompareValidator> ...

<asp:CompareValidator
    ID="val14" runat="server" ControlToValidate="ddlout"
    ErrorMessage=" Required." Operator="NotEqual"
    ValueToCompare="Please Select One"
    ForeColor="Red" SetFocusOnError="true" />

请注意其他OperatorValueToCompare。如果下拉列表的值与“要比较的值”不相等,则表示没问题 - 否则会触发。

See MSDN for more information

但是,我建议您为每个Value对象提供实际的ListItem,而不是单独使用文本。例如<asp:ListItem value="0" Text="Please Select One"/>,您可以测试ValueToCompare="0"

相关问题