2017-05-23 3 views
0

aspTableを含む文字列を作成する次のコードがあります。一般的なasp.netテーブルが表示されない

private void createTabel() 
{ 
    StringBuilder html = new StringBuilder(); 

    html.Append("<asp:Table runat='server'>"); 

    //Header Row erstellen. 
    html.Append("<asp:TableHeaderRow>"); 
    foreach (DataColumn column in dataTable.Columns) 
    { 
     html.Append("<asp:TableHeaderCell>"); 
     html.Append(column.ColumnName); 
     html.Append("</asp:TableHeaderCell>"); 
    } 
    html.Append("</asp:TableHeaderRow>"); 

    //Erstellen der Rows. 
    foreach (DataRow row in dataTable.Rows) 
    { 
     html.Append("<asp:TableRow>"); 
     foreach (DataColumn column in dataTable.Columns) 
     { 
      html.Append("<asp:TableCell>"); 
      html.Append(row[column.ColumnName]); 
      html.Append("</asp:TableCell>"); 
     } 
     html.Append("</asp:TableRow>"); 
    } 


    html.Append("</asp:Table>"); 


    PlaceHolder1.Controls.Add(new Literal { Text = html.ToString() }); 


} 

このコードは正常に動作し、asp.netテーブルを表示する文字列を作成します。

マニュアルをHTML文書に貼り付けると、すべてがうまく表示されます。しかし、私がPlaceHolderを置き換えた場合は、行の内容に大きなstringしか表示されません。

あなたは私の問題を解決するためのヒントを教えてください。

+1

'asp:Table'は'

'にレンダリングされるサーバコントロールです。 'PlaceHolder'にhtmlを追加する場合は、'
'、' '、'​​'タグ – Nino

+0

を使用してください。そうすれば、asp:tableを追加することはできません。 – user5985727

+1

kzeeの答えを使用してください。 – Nino

答えて

1

利用代わりに、この:また

private void createTabel() 
    { 
     StringBuilder html = new StringBuilder(); 

     html.Append("<table>"); 

     //Header Row erstellen. 
     html.Append("<tr>"); 
     foreach (DataColumn column in dataTable.Columns) 
     { 
      html.Append("<th>"); 
      html.Append(column.ColumnName); 
      html.Append("</th>"); 
     } 
     html.Append("</tr>"); 

     //Erstellen der Rows. 
     foreach (DataRow row in dataTable.Rows) 
     { 
      html.Append("<tr>"); 
      foreach (DataColumn column in dataTable.Columns) 
      { 
       html.Append("<td>"); 
       html.Append(row[column.ColumnName]); 
       html.Append("</td>"); 
      } 
      html.Append("</tr>"); 
     } 

     html.Append("</table>"); 

     PlaceHolder1.Controls.Add(new Literal { Text = html.ToString() }); 
    } 

、あなただけのGridViewを使用して、データソースとしてのGridViewにdataTableの結合することができます。

関連する問題