2017-05-30 15 views
0

我有一個列表框,我想驗證它,如果用戶點擊提交按鈕,而沒有從列表框中選擇任何值。
現在我正在做如下,但我無法看到驗證消息。我在哪裏錯了?如何驗證在asp.net中的列表框

ASPX:

<asp:ListBox ID="ddList" runat="server" SelectionMode="Multiple" Height="125" Style="background: none;"></asp:ListBox> 
       <asp:RequiredFieldValidator ID="RQddList" runat="server" ControlToValidate="ddList" InitialValue="" Display="Dynamic" ForeColor="Red"></asp:RequiredFieldValidator> 

CS:

if (ddList.Items.Count > 0) 
      { 
       if(ddList.SelectedIndex == -1) 
       { 
        RQddList.Text = "* requires value"; 
       } 
      } 
+0

嘗試提供默認值''並檢查所選值是否仍然存在。 –

+0

@HassanImam列表框是從cs頁面動態獲取的,我無法對該值進行硬編碼 – sumedha

回答

0

在後面的代碼,使用下面的代碼。

protected override void Page_Load(object sender, EventArgs e) 
{ 
    this.ddList.SelectedIndex = -1; 
} 

然後按提交按鈕檢查ddList.SelectedIndex是否不是-1。如果它仍然是-1,則顯示錯誤。

+0

沒有它仍然不起作用 – sumedha

+0

你得到的錯誤是什麼? 提交按鈕中selectedIndex的初始值是什麼? –

+0

我沒有收到錯誤消息,但我也看不到驗證消息 – sumedha

1

的Html

<form id="form1" runat="server"> 
    <asp:ListBox ID="ListBox1" runat="server" SelectionMode="Multiple"> 
    <asp:ListItem Value="1">--Select--</asp:ListItem> 
    <asp:ListItem Value="2" ></asp:ListItem> 
    <asp:ListItem Value="3" ></asp:ListItem> 
    <asp:ListItem Value="4" ></asp:ListItem> 
    </asp:ListBox> 

     <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="select listitems" 
      ControlToValidate="ListBox1" InitialValue="" EnableTheming="True" ForeColor="#FF3300" ViewStateMode="Enabled"> 

     </asp:RequiredFieldValidator> 

     <asp:Button ID="btnSubmit" runat="server" Text="Submit" /> 
    </form> 

如果你面臨這樣的錯誤:

Error : WebForms UnobtrusiveValidationMode requires a ScriptResourceMapping for jquery. Please add a ScriptResourceMapping named jquery(case-sensitive).

在你的web配置添加這一點,並請參閱下面的鏈接,

<appSettings> 
<add key="ValidationSettings:UnobtrusiveValidationMode" value="None" /> 
</appSettings> 

試試這個它會幫助你,

Refer this linklink2