2013-03-29 33 views
0

我創建了一個動態創建表的asp.net(C#)網頁。表中的一列是具有ID(int)的複選框。我想用所有的檢查框的ID在一個SQL查詢,像這樣:獲取複選框ID Serverside C#

select * 
from table 
where ID in (1,2,3,4) 

有沒有一種方法,我可以從所有選中的複選框服務器端獲取ID列表?

這裏是代碼即時通訊的一個片段使用產生的複選框:

foreach (DataRow dr in dt.Rows) 
{ 
    string Compatible_Controls = (
     "<tr>" + 
     "<td><input type='CheckBox' ID='" +(dr["id"]) + "' /></td>" + 
     "<td>" + (dr["Control_Name"]) + "</td>" + 
     "<td>" + (dr["Control_Statement"]) + "</td>" + 
     "<td>" + (dr["Regulation_type"]) + "</td>" + 
     "</tr>"); 

這裏是產生什麼:

<tr> 
    <td><input type='CheckBox' ID='3' /></td> 
    <td>xxxxxx</td> 
    <td>xxxxxxxxx</td> 
    <td>xxxxxxxx</td> 
</tr> 
+0

是jquery允許的嗎? –

+0

我真的不明白你在問什麼。你想閱讀哪些複選框在回發後由用戶檢查?或者你想在創建它之後在服務器端讀取它? – void

回答

1

沒有,id屬性不會被髮布到服務器。但是,您可以使用name屬性來區分input元素。事情是這樣的:

<input type='CheckBox' name='3' /> 

或者,如果你仍然想爲你的CSS/JavaScript的使用id屬性,你可以有兩種:

<input type='CheckBox' name='3' ID='3' /> 

然後在服務器端代碼表單集合將包含在那裏發佈的所有不同name值的鍵。 (當然,確保name在您的客戶端表單上是唯一的。)您沒有提及您是使用WebForms還是MVC,因此您可以通過多種方式將信息發佈到服務器。如果WebForms,Request.Form will contain the key/value pairs。如果MVC,只需將a FormCollection parameter添加到控制器操作中,它將具有鍵/值對。