【问题标题】:Can I convert a dynamically created c# table to a html string?我可以将动态创建的 c# 表转换为 html 字符串吗?
【发布时间】:2010-12-04 04:35:43
【问题描述】:

我可以将动态创建的 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>

【问题讨论】:

  • 你应该多解释一下你的问题...
  • 什么是 C# 表?
  • 你想做什么?你什么时候需要那张桌子?

标签: c# html


【解决方案1】:
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();
}

结果:

&lt;table border="0"&gt;&lt;tr&gt;&lt;td&gt;Some text... Istanbul&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

【讨论】:

    【解决方案2】:

    只需在页面上有一个面板,然后将表格添加到面板中。

    所以,在你的 aspx 文件中:

    <asp:Panel id="MyPanel" runat="server" />
    

    在你的代码后面:

    MyPanel.Controls.Add(t) // 't' 是你的 Table 对象

    这会将表格放在您的面板中,这会将表格呈现为 Html 到页面,在一个不错的 &lt;div&gt;

    【讨论】:

      【解决方案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());
      

      【讨论】:

        【解决方案4】:

        是的。它必须在某个时候变成一个字符串才能呈现给浏览器 - 一种方法是获取它并从中提取表格。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-02-05
          • 2011-02-10
          • 1970-01-01
          • 2022-01-05
          • 2016-03-12
          • 1970-01-01
          • 2017-06-11
          • 2012-09-03
          相关资源
          最近更新 更多