2012-04-10 2 views
0

Ich arbeite derzeit auf einer asp.net-Seite mit C#. Diese Seite enthält eine Schaltfläche und sobald Sie auf klicken, erhalten Sie eine kleine HTML-Tabelle mit einem Namen von Person, Handynummer und E-Mail-Adresse. Was ich tun möchte, ist in Code hinter dieser HTML-Tabelle zusammen mit seinen Daten im Speicher-Stream oder anderen Arten von Streams erfassen, um einige Operationen durchzuführen. Hier ist mein CodeHTML-Tabelle in Speicher-Stream

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

Also bitte, wenn jemand helfen könnte, wie dieser Prozess zu erreichen, und ich werde so dankbar

+1

Sorry, wenn ich Ihre Frage falsch verstanden, aber sie haben nicht die Tabelle in der Page-Objekt bereits? –

+0

Woher kommt diese HTML-Tabelle? Und was hast du probiert? –

+0

Ich hole im Grunde einige Daten aus der Datenbank und gebunden sie –

Antwort

1

Nun, obwohl ich nicht wirklich verstehen, warum Sie das tun wollen, können Sie kann dies tun, ziemlich einfach, haben Sie ID und runat Server-Tag am Tisch zu setzen, und Sie haben bereits, und dann diese Steuerung zu String machen:

Markup:

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

Code hinter:

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

hat es nicht funktioniert. Die String-Variable zeigt mir eine leere Zeichenfolge !! –

+0

wo hast du diesen Code abgelegt? –

+0

Nun, vielleicht passiert das, weil ich die Tabelle erweitert habe, um einige ASP-Etiketten zu haben, die das vollständige Rendering verhindern. Als ich es auf einer rohen HTML-Tabelle probierte, funktionierte es gut. Wenn ich es jedoch auf einer Tabelle versuchte, die einige Asp-Etiketten enthielt, funktionierte es nicht. Also, wenn Sie einen Rat haben, werde ich so dankbar –

Verwandte Themen