我在页面上有一个下拉列表,默认情况下显示的选项是“请选择一个”。目前用户可以选择该选项并访问下一页,我想要做的是选择“请选择一个”确保在选择下拉列表中的实际选项之前不会访问下一页/步骤。
我猜测某种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>
答案 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" />
请注意其他Operator
和ValueToCompare
。如果下拉列表的值与“要比较的值”不相等,则表示没问题 - 否则会触发。
但是,我建议您为每个Value
对象提供实际的ListItem
,而不是单独使用文本。例如<asp:ListItem value="0" Text="Please Select One"/>
,您可以测试ValueToCompare="0"