2017-08-29 44 views
0

我在我的asp.net項目中使用了一個多選html控件,我試圖通過te用戶來獲取選定的項目。這是的.aspx頁面中使用我的html代碼:在asp.net中選擇多個html NullReferenceException

<label>Drop Columns: </label> 
<select id="select1" name="select1" runat="server" class="form-control select2" multiple="multiple"> 
    <option value=0>Rows Header</option> 
    <option value=1>item 1</option> 
    <option value=2>item 2</option> 
    <option value=3>item 3</option> 
    <option value=4>item 3</option> 
</select> 

,這背後是用戶使用來獲得所選項目的C#代碼:

for (int i = 0; i <= select1.Items.Count -1; i++) 
{ 
    if (select1.Items[i].Selected) 
    { 
      test = select1.Items[i].ToString(); 
    } 
} 

當我執行我的代碼,我得到NullReferenceException in select1.Items.Count其中:Object reference not set to an instance of an object.

問題是什麼?

+0

「測試」的定義和分配任何默認值?在代碼 – imsome1

+0

會在多重選擇的情況下工作嗎? –

回答

1

可以得到這樣的選擇的值:

test = Request.Form["select1"]; 
+0

的前一部分中定義的 –

+0

是的。多個項目將用逗號分隔,如:'項目1,項目2' –

+0

我檢查它的工作原理,但我仍然不明白爲什麼我的代碼不起作用,並拋出異常 –