2017-04-21 91 views
1

我有一些代碼從數據庫中取得一些值,然後通過下面的代碼將它修改爲一個html表格。從數據庫創建的C#表格格式問題

if (!this.IsPostBack) { 
      DataTable dt = Database.GetData(); 

      StringBuilder html = new StringBuilder(); 
      html.Append("<table border = '1'>"); 
      html.Append("<tr>"); 
      foreach(DataColumn column in dt.Columns){ 
       html.Append("<th>"); 
       html.Append(column.ColumnName); 
       html.Append("</th>"); 
      } 
      html.Append("</tr>"); 

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

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

問題出在運行時代碼被拋出一個大行約15瀏覽器頁面長而不是在列下。

有什麼建議嗎?

+1

有引擎像剃鬚刀呈現網頁... – DarkSquirrel42

+0

您的HTML可能不會爲客戶端的HTML編碼。 –

+5

如果你想渲染一個表格,你需要一個空格,它應該是'

'not' Luke

回答

2

由於您的table標記和border屬性之間缺少空格,因此您的代碼目前不會以表格的形式輸出。

它應該是<table border= '1'>而不是<tableborder='1'>如果您想渲染一個表,因爲當它被瀏覽器解釋時它不是一個有效的表標記。

此外,如果您希望將其呈現爲HTML,那麼您的代碼應該以「原始」HTML格式輸出,否則它將被視爲文本,這是我聽起來的樣子。