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サーバータグをテーブルに配置する必要があり、すでにそれがあり、このコントロールを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 に答える