ASP.NET如何在没有GridView的情况下显示数据

问题描述:

我是ASP.NET中的新手。 我准备了产品的数组列表并希望在页面中显示。 最简单的方法是将ArrayList绑定到GridView。ASP.NET如何在没有GridView的情况下显示数据

但是我没有灵活性,因为它会在场景后面自动生成TABLE。 有没有其他的方法可以让我们灵活地控制HTML输出,例如我想用UL标签而不是TABLE标签显示。

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

您可以选择使用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

使用

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