2012-09-02 35 views
0

我有一個頁面上的下拉列表,默認情況下顯示的選項是'請選擇一個'。目前用戶可以選擇該選項並進入下一頁,我想要做的是如果'請選擇一個「,以確保在選擇下拉列表中的實際選項之前,不會訪問下一頁/步驟。使用C#驗證asp.net中的下拉列表?

林猜測某種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

如果您要爲問題添加代碼,請花一分鐘格式化它,然後您可以預覽問題文本中的內容。請記住,您的讀者應該能夠閱讀代碼並理解它,而不必滾動一英里來查看是否有重要的東西。 – Patrick

+0

好的,我會在未來記住這一點 – madzcoding

回答

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「s到每個對象ListItem的,而不是單獨使用文本。例如<asp:ListItem value="0" Text="Please Select One"/>,然後您可以測試ValueToCompare="0"

+0

謝謝,我會放棄 – madzcoding