0

我创建了一个动态创建表的 asp.net (C#) 网页。表中的一列是具有 ID(int) 的复选框。我想使用 SQL 查询中所有复选框的 ID,如下所示:

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>
4

1 回答 1

1

不,该id属性不会发布到服务器。但是,您可以使用该name属性来区分input元素。像这样的东西:

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

或者,如果您仍然希望id在 CSS/JavaScript 中使用该属性,您可以同时拥有:

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

然后在服务器端代码中,表单集合将包含name发布在那里的所有不同值的键。(当然,请确保names 在您的客户端表单上是唯一的。)您没有提及您使用的是 WebForms 还是 MVC,因此当这些信息发布到服务器时,您可以通过多种方式访问​​这些信息. 如果是 WebForms,Request.Form将包含键/值对。如果是 MVC,只需向控制器操作添加一个FormCollection参数,它将具有键/值对。

于 2013-03-29T11:49:03.857 回答