我不想把它变成“哪个更好... MVC或WebForms ”类型的问题。我确定已经在这里问了很多次。
我的问题:如果我正在构建MVC Web项目,为什么不在我的“Views”.aspx页面上使用ASP.NET数据网格控件?
答案 0 :(得分:5)
控件依赖于MVC中不可用的Viewstate。此外,所有行为都基于WebForms事件和回发模型,您必须在MVC中重新创建它们才能使它们工作。您可以搜索备用的,MVC友好的网格(可能是基于jQuery的)。我知道Telerik在MVC controls下发布了一组可能对您有所帮助的open source。
答案 1 :(得分:2)
您无法在MVC中使用Web窗体控件,因为它们依赖于视图状态。请改用Mvc Controls工具包的数据网格。它具有分页,插入删除和更新功能,它完全是模板化的(你可以随意设置它)。看看here
答案 2 :(得分:0)
datagrid控件依赖于不符合MVC思维方式的回发事件(回发转到后面的页面代码而不是控制器)。你可以使用一个没有任何回发功能,我相信,但你也可以直接制作一些东西。
答案 3 :(得分:0)
因为ASP.NET DataGrid / GridView有太多责任适合MVC模式。你必须在你的视图中添加一些代码隐藏来数据绑定网格 - 属于控制器的代码。
任何使用回发的东西都不适用于MVC,因此DataGrids的分页和排序对你没有任何好处。所以使用它确实没有任何好处。
如果您正在寻找灵活的网格“控件”(MVC更喜欢术语HTML帮助程序),MvcContrib grid非常好。