mat*_*uma 111 asp.net user-interface
这么多不同的控件可供选择!确定用于在ASP.NET中显示数据的控件的最佳实践是什么?
Web*_*ude 144
这真的是关于你想要实现的目标
Gridview - 设计有限,像html表一样工作.更多内置功能,如编辑/更新,页面,排序.很多开销.
DataGrid - Gridview的旧版本.gridview是一个超级数据网格.
Datalist - Gridview的更多可定制版本.也有一些开销.更多的手动工作,因为你必须自己设计.
ListView - 新的Datalist :).几乎是datalist和gridview的混合体,您可以在其中使用分页和构建Gridview功能,但具有设计自由度.这个家族的新控件之一
中继器 - 重量很轻.没有像Headers,Footers这样的内置功能.开销最小.
Joh*_*udy 28
其他人都打了它:它取决于.
现在进行一些具体的指导(扩展WebDude上面的优秀答案)......
您的设计是否适合数据的自然电子表格或网格视图?GridView.
您是否需要显示列表或其他格式化的数据视图,可能包含页眉和页脚,还可能显示每个数据记录的特定控件和/或格式?(EG,自定义链接,可能是LinkButtons,还是特定的编辑控件?)此显示是否特别不适合电子表格或网格视图?列表显示
如果您满足ListView的所有条件,但您自然适合网格,则可以考虑使用DataList.
当我只需要一些基本数据迭代时,我会选择Repeater,这些基本数据与一些自定义设计位,没有标题,没有页脚,漂亮和干净.
Ima*_*idi 19
可以为所有3(ListView,DataList,Repeater)声明以下示例代码
<asp:ListView runat="server" OnItemCommand="Unnamed1_ItemCommand">
<ItemTemplate> <%# Eval("Name")%> </ItemTemplate>
<asp:ListView>
Run Code Online (Sandbox Code Playgroud)
在以下列表中您可以查看每个列表的可用模板和选项,并自行查看差异
ListView(注意编辑,组,插入,布局)
DataList(注意Style对)
中继器
CompositeDataBoundControl:
查看以下类层次结构(和相关控件).
这些控件在其模板中托管其他asp.net控件,以向用户显示绑定数据
ListView控件
ListView控件还使用模板显示数据.但是,它支持许多其他模板,这些模板在处理数据时允许更多场景.这些模板包括LayoutTemplate,GroupTemplate,ItemSeparatorTemplate.
ListView控件(与DataList和Repeater不同)也隐式支持使用数据源控件编辑,插入和删除数据的功能.您可以为每个方案定义单独的模板.
DataList控件
DataList控件的工作方式与Repeater控件类似.它会重复数据集中每一行的数据,并根据您定义的模板显示此数据.但是,它会在各种HTML结构中列出模板中定义的数据.这包括水平或垂直布局的选项,它还允许您设置数据应如何重复,如流或表格布局.
DataList控件不会自动使用数据源控件来编辑数据.相反,它提供了命令事件,您可以在其中为这些方案编写自己的代码.要启用这些事件,请将Button控件添加到其中一个模板,并将按钮的CommandName属性设置为edit,delete,update或cancel关键字.然后由DataList控件引发相应的事件.
中继器控制
Repeater控件还使用模板来定义自定义绑定.但是,它不会将数据显示为单个记录.相反,它会重复您在模板中指定的数据行.这允许您创建单行数据并在页面中重复.
Repeater控件是只读模板.也就是说,它只支持ItemTemplate.它不会隐式支持编辑,插入和删除.如果需要此功能,则应考虑其他控件之一,否则您必须自己为Repeater控件编写代码.
以上描述来自MCTS考试70-515 Web应用程序开发与Microsoft.NET Framework 4书.
本书甚至没有提到DataGrid,它被流行的GridView取代,并被其他用户很好地回答
确实!我发表了关于ASP.NET 4.0数据工具之间差异的博客.基本上,gridviews是呈现表格信息的最有效方式,而ListView控件则用于更复杂的重复数据显示.如果我向ASP.NET新手提供建议,我会告诉他们从内到外学习网格视图并忽略其他控件开始.
这一切都取决于您希望如何布局数据.
如果你需要控制布局(比如表格与CSS对比),使用Repeater或ListView时.在这两者之间,ListView为您提供了更多的事件和内置命令,用于编辑,选择和插入.另外还有分页和分组功能.Repeater非常简单,它使用数据重复布局.由于您手动构建布局,因此Listview和Repeater需要更多代码.
GridView是一个更新的DataGrid,因此几乎没有理由使用DataGrid.当连接到标准ASP.NET数据源时,GridView工作得非常好,但是限制为具有大量布局规则的表格布局.由于您使用的是内置布局,因此GridView需要的代码更少.
归档时间: |
|
查看次数: |
67175 次 |
最近记录: |