2012-04-10 6 views
0

現在、C#を使用してasp.netページを作成しています。このページにはボタンが含まれています。クリックすると、名前、携帯電話番号、電子メールアドレスの小さなHTMLテーブルが表示されます。私がやりたいことはコードの中に、このHTMLテーブルをメモリストリームや他のタイプのストリームのデータとともにキャプチャしていくつかの操作を行うことです。誰もがこのプロセスを実現する方法を助けることができるとあなたがそれをやりたいんなぜ私は本当に、あなたを理解していないが、私はまあHTMLテーブルをメモリストリームに変換

+1

申し訳ありませんが、すでに私はあなたの質問を誤解していますが、あなたのPageオブジェクトにテーブルを持っていない場合は? –

+0

このHTMLテーブルはどこから来ていますか、何を試しましたか? –

+0

私は基本的にデータベースからいくつかのデータを取り出してそれらを束縛します –

答えて

1

とても感謝されます場合はここに私のコードので

<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> 

は、してくださいですかなり単純にこれを行うことができ、あなたのテーブルにidとラナサーバータグを配置する必要があり、あなたはすでに、その後、 とは、文字列に、このコントロールをレンダリングすることがあります。

マークアップ:

<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 = "[email protected]"; 
    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; 
} 
+0

を使用して、同じフォーマットの正確なテーブルをPDFドキュメントに変換できます。文字列変数は私に空の文字列を示します!! –

+0

あなたはそのコードをどこに入れましたか? –

+0

これは、完全なレンダリングを妨げるいくつかのaspラベルを持つようにテーブルを拡張したために起こります。生のHTMLテーブルで試したところ、うまくいきました。しかし、私はそれを試したときにテーブルにいくつかのASPラベルが含まれていませんでした。だからアドバイスがあれば、私はとてもうまくいくでしょう。 –

関連する問題