0

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

我猜测某种 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>
4

1 回答 1

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。如果下拉列表的值“不等于”“要比较的值”,那么它是可以的 - 否则它会触发。

有关详细信息,请参阅 MSDN

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

于 2012-09-02T16:52:06.760 回答