0

我目前正在使用 C# 处理 asp.net 页面。此页面包含一个按钮,单击后您将获得一个带有人名、手机号码和电子邮件地址的小型 HTML 表格。我想要做的是在代码后面捕获这个 HTML 表以及它在内存流或其他类型的流中的数据,以便执行一些操作。这是我的代码

<table id="tb" runat="server">
        <tr> 
            <td> Name </td>
            <td> <asp:Label ID="lblName" runat="server" ></asp:Label>  </td>
        </tr>
         <tr> 
            <td> Phone </td>
            <td> <asp:Label ID="lblPhone" runat="server" ></asp:Label>  </td>
        </tr>
         <tr> 
            <td> Email </td>
            <td> <asp:Label ID="lblEmail" runat="server" ></asp:Label>  </td>
        </tr>
     </table> 

所以请,如果有人可以帮助如何完成这个过程,我将非常感激

4

1 回答 1

1

好吧,虽然我不太明白你为什么要这样做,但你可以很简单地做到这一点,你必须把 id 和 runat server 标签放在你的桌子上,你已经有了,然后将此控件呈现为 string :

标记:

<form id="form1" runat="server">
  <table id="tb" runat="server">
    <tr> 
        <td> Name </td>
        <td> <asp:Label ID="lblName" runat="server" ></asp:Label>  </td>
    </tr>
     <tr> 
        <td> Phone </td>
        <td> <asp:Label ID="lblPhone" runat="server" ></asp:Label>  </td>
    </tr>
     <tr> 
        <td> Email </td>
        <td> <asp:Label ID="lblEmail" runat="server" ></asp:Label>  </td>
    </tr>
  </table> 

  <hr />
  Rendered table :
  <hr />
  <asp:Label ID="lblRenderedTable" runat="server"></asp:Label>
  <hr />

</form>

后面的代码:

protected void Page_Load(object sender, EventArgs e)
{

  lblName.Text = "User Name";
  lblEmail.Text = "user@domain.com";
  lblPhone.Text = "555-4214";

  StringBuilder sb = new StringBuilder();
  StringWriter tw = new StringWriter(sb);
  HtmlTextWriter hw = new HtmlTextWriter(tw);
  tb.RenderControl(hw);
  string tableContents = sb.ToString();

  lblRenderedTable.Text = tableContents;
}
于 2012-04-10T13:52:23.550 回答