我可以将动态创建的c#表转换为html字符串吗?
我的意思是这样的;
Table t = new Table();
TableRow tr = new TableRow();
TableCell td = new TableCell();
td.Text = "Some text... Istanbul";
tr.Cells.Add(td);
t.Rows.Add(tr);
t.ToString();
Response.Write(t.ToString());
我想在页面中看到;
<table> <tr> <td> Some text...
Istanbul </td> <tr> </table>
答案 0 :(得分:21)
using (StringWriter sw = new StringWriter())
{
Table t = new Table();
TableRow tr = new TableRow();
TableCell td = new TableCell {Text = "Some text... Istanbul"};
tr.Cells.Add(td);
t.Rows.Add(tr);
t.RenderControl(new HtmlTextWriter(sw));
string html = sw.ToString();
}
<强>结果:强>
<table border="0"><tr><td>Some text... Istanbul</td></tr></table>
答案 1 :(得分:3)
您应该更新您的问题以获得更多信息。但是,我假设您正在使用DataGrid:
StringBuilder stringBuilder = new StringBuilder();
StringWriter stringWriter = new StringWriter(stringBuilder);
HtmlTextWriter htmlWriter = new HtmlTextWriter(stringWriter);
DataGrid1.RenderControl(htmlWriter);
string dataGridHTML = Server.HtmlEncode(stringBuilder.ToString());
答案 2 :(得分:1)
只需在页面上放置一个Panel,然后将该表添加到Panel。
所以,在你的aspx文件中:
<asp:Panel id="MyPanel" runat="server" />
并在您的代码中:
MyPanel.Controls.Add(t)
//其中't'是您的Table对象
将表放在面板中,将表格作为Html呈现给页面,这是一个不错的<div>
答案 3 :(得分:0)
是。它必须在某个时候变成一个字符串才能呈现给浏览器 - 一种方法就是采用它并从中提取表格。