【发布时间】:2010-09-29 22:10:43
【问题描述】:
为了完全控制您的应用程序,您更喜欢 GridView 还是 HTML 表格? 为什么?
例如,我需要在 GridView/HTML 表中为每行创建动态超链接。哪个对象更容易添加该功能(或其他类似的功能)?
注意:我正在以编程方式创建我的数据集
【问题讨论】:
标签: html asp.net gridview html-table
为了完全控制您的应用程序,您更喜欢 GridView 还是 HTML 表格? 为什么?
例如,我需要在 GridView/HTML 表中为每行创建动态超链接。哪个对象更容易添加该功能(或其他类似的功能)?
注意:我正在以编程方式创建我的数据集
【问题讨论】:
标签: html asp.net gridview html-table
如果您不需要对排序或分页的内置支持,并且想要对呈现的输出进行更多控制,那么我会考虑使用 Repeater 控件来输出表格。如果您需要内置的排序/分页功能,那么 GridView 会很有帮助。
如果您想要两全其美,请升级到 ASP.net 3.5 并使用 ListView。
编辑:你能澄清一下'on-the-fly hyperlinks-per-row'是什么意思吗?
【讨论】:
如果您不需要排序和/或分页,我认为可以使用 Repeater 或更新的 ListView。 Repeater 和 ListView 允许您控制 HTML(在这方面 GridView 是一个完全黑匣子,并生成残暴的 HTML),同时避免 <asp:Table> 控件附带的繁琐的服务器端代码:“好的,新行。新单元格。对单元格做一些事情。将单元格添加到行。将行添加到表格。重复“。
另一方面,如果您需要分页和排序,GridView 可能是更好的解决方案。
【讨论】:
您可以使用 GridView 或更简单的类似中继器的控件来构建您自己的 html,即使您必须对数据进行排序/分页。
以中继器为例,您可以使用 PagedDataSource 数据源构建自定义分页系统,其中 AllowPaging 属性设置为 true。
唯一的问题显然是,对于一个简单的中继器,您必须编写更多代码来完成 GridView 本身所做的工作。
但结果更快。
【讨论】:
远离 Gridview。它必须拉下整个数据集以呈现分页。仅呈现您需要的行(例如,6,0000 行中的第 30 - 40 行)并使用单独的寻呼机控件要快得多。 此外,当涉及到 HTML/CSS 时,使用中继器或列表视图将更容易调试,因为您将完全控制代码。
【讨论】:
由 Response.Write 生成的纯 HTML