2010-03-13 63 views
1

我不想将它变成“哪个更好...... MVC或WebForms”类型的问题。我确定这已经被问过很多次了。为什么我不应该在MVC中使用ASP.NET数据网格控件

我的问题:如果我正在构建一个MVC Web项目,为什么我不应该在我的“Views”.aspx页面上使用ASP.NET数据网格控件?

+0

究竟您想使用哪种控制功能?特别是,您是否需要使用PostBack和/或ViewState? – 2010-03-14 06:43:28

回答

5

该控件依赖于MVC中不可用的Viewstate。另外,所有的行为都是基于WebForms事件和回发模型进行的,您必须在MVC中重新创建这些模型才能使其运行。你可以搜索替代的,MVC友好的网格(可能基于jQuery)。我知道Telerik已经发布了一套MVC controlsopen source,这可能对您有所帮助。

0

datagrid控件依赖于不符合MVC思维方式的回发事件(回发转到后面的页面代码而不是控制器)。我相信你可以使用一个没有任何回发功能,但你也可以直接制作一些东西。

0

因为ASP.NET DataGrid/GridView具有太多的责任以适应MVC模式。您必须添加一些代码隐藏到您的视图来数据绑定属于控制器的网格代码。

任何使用回传的东西都不适用于MVC,所以DataGrids的分页和排序对你来说不会有任何好处。所以使用它真的没有任何好处。

如果你正在寻找一个灵活的网格'控制'(MVC喜欢术语HTML助手),MvcContrib grid是相当不错的。

2

您不能在MVC中使用Web窗体控件,因为它们依赖于视图状态。改为使用Mvc控件工具包的数据网格。它具有分页,插入删除和更新功能,它完全是模板化的(你可以随心所欲地制作它)。看看它here

相关问题