将服务器端表内容添加到aspx页面的div

时间:2012-08-13 06:05:26

标签: c# asp.net

//ASPX PAGE
    <div id="nonPrintable">
         <table width="98%" border="0" cellspacing="2" cellpadding="0" align="center">
               --
               --</table>          
     </div>
    <br/>
    <div id="printReport" runat="server">

    </div>

我正在从服务器端写表

Response.Write("<table width='95%' border='0' cellpadding='0' cellspacing='0' align='center'>");
Response.Write("<tr class='tdcolbg'>");
Response.Write("<td>");***SOME CONTENT***
Response.Write("</td>");
Response.Write("</tr>");
Response.Write("</table>");

我已将服务器端表内容添加到div打印报告如何添加它。

3 个答案:

答案 0 :(得分:2)

为什么不使用Repeater

<div id="printReport" runat="server">
     <asp:Repeater id="Repeater1" runat="server">
      <HeaderTemplate>
         <table border="1">
            <tr>
               <td><b>Company</b></td>
               <td><b>Symbol</b></td>
            </tr>
      </HeaderTemplate>

      <ItemTemplate>
         <tr>
            <td> <%# DataBinder.Eval(Container.DataItem, "Name") %> </td>
            <td> <%# DataBinder.Eval(Container.DataItem, "Ticker") %> </td>
         </tr>
      </ItemTemplate>

      <FooterTemplate>
         </table>
      </FooterTemplate>

   </asp:Repeater>
</div>

答案 1 :(得分:1)

使用标签控件而不是使用div,并将内容保存在stringbuilder对象中,然后将其分配给标签文本属性。以下示例

 // aspx code
<asp:Label ID ="lbReport" runat="server" />

// Code Behind
StringBuilder sbreport=new StringBuilder();
sbreport.Append("<table width='95%' border='0' cellpadding='0' cellspacing='0' align='center'>");
sbreport.Append("<tr class='tdcolbg'>");
sbreport.Append("<td>");***SOME CONTENT***
sbreport.Append("</td>");
sbreport.Append("</tr>");
sbreport.Append("</table>");


lbReport.Text = sb.ToString();

答案 2 :(得分:1)

您已将printReport div设置为服务器控件,方法是向其添加runat="server"。 像这样添加你的表

StringBuilder sb=new StringBuilder();
sb.Append("<table>");

并将其添加到此控件中

printReport.innerHTML=sb.toString();