2010-10-30 140 views
1

我是ASP.NET中的新手。 我準備了產品的數組列表並希望在頁面中顯示。 最簡單的方法是將ArrayList綁定到GridView。ASP.NET如何在沒有GridView的情況下顯示數據

但是我沒有靈活性,因爲它會在場景後面自動生成TABLE。 有沒有其他的方法可以讓我們靈活地控制HTML輸出,例如我想用UL標籤而不是TABLE標籤顯示。

回答

2
var products = new ArrayList(); 
products.Add("product1"); 
products.Add("product2"); 
products.Add("product3"); 

var builder = new StringBuilder(); 

foreach (var product in products) 
{ 
    builder.Append("<li>" + product + "</li>"); 
} 

Response.Write("<ul>" + builder.ToString() + "</ul>"); 
+0

你好,謝謝你的回答。但是,你能解釋一下我在aspx和aspx.cs文件中應該怎麼做?您的評論僅適用於ASP(不是ASP.NET?) – iwan 2010-10-30 09:20:21

+0

@ iwan-上面的代碼可以添加到'Page_Load'方法或一些事件處理程序中,例如* .aspx後面的代碼中的按鈕。 '* .aspx'頁面文件的cs'文件。 的'Response.Write'將返回原始HTML'

  • 產品1
  • 產品2
  • 產品3
'由StringBuilder的到客戶方瀏覽器創建。 – 2010-10-30 17:30:55

2

您可以選擇使用Repeater Control。藉助Repeater的模板,您可以輕鬆地將您的html輸出插入到輸出中。

Here有一個使用Repeater的例子。實際上,示例也嘗試添加表格,但主題是向您展示如何使用模板。

+0

你好感謝你的答案對照。這似乎是正確的答案,從我看到的轉發器需要DataSourceID的唯一的事情 - 同時我有一個ArrayList。任何線索? – iwan 2010-10-30 09:23:52

+0

不,您可以將您的ArrayList設置爲Repeater的DataSource屬性並調用DataBind方法。 – Canavar 2010-10-30 09:28:41

1

使用

Response.Write("<ul><li>item1</li><li>item1</li><li>item1</li><li>item1</li></ul>") 

你得到所有的u需要與

+0

你好,謝謝你的回答。但是,你能解釋一下我在aspx和aspx.cs文件中應該怎麼做?你的評論對我來說只適用於ASP(不是ASP.NET ??) – iwan 2010-10-30 09:21:10

+0

噢好吧..現在我明白了,我們可以在aspx.cs中編寫Response.Write - 但隨後它會破壞母版頁。所以我添加標籤並用正確的UL/LI標籤填充標籤。謝謝!!!! – iwan 2010-10-30 09:36:30

相關問題