将复选框动态插入具有可变字段数的ASP.NET表中。 C#代码隐藏 [英] Dynamically insert checkbox into a table in ASP.NET with variable number of fields. C# codebehind

查看:49
本文介绍了将复选框动态插入具有可变字段数的ASP.NET表中。 C#代码隐藏的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在构建一个从SQL Server 2008数据库填充的豁免请求表单。

I'm building an exemption request form that populates from an SQL Server 2008 database.

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();

就目前而言,表可以正常运行,所有数据都可以正常显示,但是复选框可以不露面。想知道是否完全可以这样做吗?

As it stands right now, the table builds fine, all the data displays fine, but the checkbox does not show up. Was wondering if doing it this way is possible at all, and if so, what am I doing wrong?

推荐答案

将ASP.NET插入HTML,ASP.NET可能未处理HTML。如果您想按照现在的方式进行操作...切换到使用 input 这样的标签...

You're inserting ASP.NET into your HTML and that HTML is probably not getting processed by ASP.NET. If you want to do it the way you're doing it now... switch to using input tags like so...

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.NET复选框。看起来像这样……

The other route would be to actually create the ASP.NET Checkboxes. That would look somethig like this...

  var checkbox = new CheckBox();
  checkbox.ID = "chk" + exemptionId;
  wrapper.Controls.Add(checkbox);

其中包装器是 Panel 或排序。

这篇关于将复选框动态插入具有可变字段数的ASP.NET表中。 C#代码隐藏的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆