动态创建和填充表

时间:2014-05-20 19:29:07

标签: asp.net

您好我正在开发一个asp。我希望在ui中填充许多表的网页 但我希望它是动态的。 例如:如果我根据搜索条件仅检索2行,那么我只想显示2个表。 我尝试使用字符串构建器创建动态表,但我得到了一个空引用,因为没有读取表Id。有没有其他方法可以在html页面中动态创建表,或者我应该在自身后面的代码中执行它,然后使用流控制获取Id,然后填充表。请帮忙!!!

动态creatig表的问题已得到纠正,但现在我无法检索它们的ID,以便我可以使用id.text命令打印从datatbase中恢复的值。 这是我的代码

StringBuilder htmlTable = new StringBuilder();
htmlTable.AppendLine("<table>");
htmlTable.AppendLine("<tr>");
htmlTable.AppendLine("<th>colum1</th>");
htmlTable.AppendLine("<th>colum2</th>");
htmlTable.AppendLine("<th>colum3</th>");
htmlTable.AppendLine("</tr>");
htmlTable.AppendLine("<tr>");
htmlTable.AppendLine("<td><asp:Label runat='server' id='lblt0'></asp:Label></td>");
htmlTable.AppendLine("<td>colum2data</td>");
htmlTable.AppendLine("<td>colum3data</td>");
htmlTable.AppendLine("</tr>");
htmlTable.AppendLine("</table>");
litTable.Text = htmlTable.ToString();

//litTable is the id of my asp:literal tag

1 个答案:

答案 0 :(得分:0)

您无法以这种方式创建带有runat=server标记的表格。将项添加到文字控件只能创建客户端标记而不是服务器端控件。

您最好的方法是使用建议的GridView或HtmlTable

GridView:http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview(v=vs.110).aspx

HtmlTable:http://msdn.microsoft.com/en-us/library/system.web.ui.htmlcontrols.htmltable(v=vs.110).aspx

如果您的示例确实与您提供的示例一样简单,那么HtmlTable可能是最简单的路径。虽然如果您想从数据库或其他数据源填充表格,GridView是您的最佳选择。