动态地将复选框插入到表中.NET中可变数量的字段.c#代码后面
本文关键字:字段 代码 复选框 插入 NET 动态 | 更新日期: 2023-09-27 18:18:09
我正在构建一个从SQL Server 2008数据库填充的豁免请求表单。
DataRow[] exemption = ds.Tables[2].Select();
foreach (DataRow dr in exemption)
{
string exemptionType = dr["ExemptionType"].ToString();
string exemptionID = dr["ExemptionID"].ToString();
string exemptionDesc = dr["ExemptionDescription"].ToString();
string displayLabel = dr["DisplayLabel"].ToString();
sb.Append("<table align='center' width='730px'>");
sb.Append("<tr><td><asp:CheckBox ID='"chk" + exemptionID + "'" runat='"server'" /></td>");
sb.Append("<td><strong>" + exemptionDesc + "</strong></td>");
sb.Append("</table>");
sb.Append("<table align='center' width='630px'>");
sb.Append("<tr><td>" + displayLabel + "</td></tr>");
sb.Append("</table>");
}
return sb.ToString();
现在,表构建正常,所有数据显示正常,但是复选框没有显示出来。我想知道如果这样做是可能的,如果是这样,我做错了什么?
您正在插入ASP。NET放入HTML中,而HTML可能不会被ASP.NET处理。如果你想按照你现在的方式去做……切换到使用input
标签,像这样…
DataRow[] exemption = ds.Tables[2].Select();
foreach (DataRow dr in exemption)
{
string exemptionType = dr["ExemptionType"].ToString();
string exemptionID = dr["ExemptionID"].ToString();
string exemptionDesc = dr["ExemptionDescription"].ToString();
string displayLabel = dr["DisplayLabel"].ToString();
sb.Append("<table align='center' width='730px'>");
sb.Append("<tr><td><input type='"checkbox'" id='"chk" + exemptionID + "'" /></td>");
sb.Append("<td><strong>" + exemptionDesc + "</strong></td>");
sb.Append("</table>");
sb.Append("<table align='center' width='630px'>");
sb.Append("<tr><td>" + displayLabel + "</td></tr>");
sb.Append("</table>");
}
return sb.ToString();
另一种方法是实际创建ASP。净复选框。它看起来像这样…
var checkbox = new CheckBox();
checkbox.ID = "chk" + exemptionId;
wrapper.Controls.Add(checkbox);
其中包装器是Panel
或类似的东西