将视图模型中的IList绑定到asp.net mvc2中的gridview的问题

时间:2010-10-05 21:05:33

标签: asp.net-mvc-2 gridview ilist

这可能是一个简单的问题,但如果是一个我还没有找到解决方案。我有一个按下按钮时更新的视图模型,并且在更新时,其中的IList将得到一些结果(我知道这是有效的)。但是我试图将这个Ilist绑定到视图页面中的gridview。每次我尝试分配一个数据源或datasourceid时,首先我的resharper对它说它应该被删除,但是当我尝试运行时它会在加载时崩溃。有没有人对如何进行有任何见解?

1 个答案:

答案 0 :(得分:2)

您不应该在ASP.NET MVC应用程序中使用像GridView这样的服务器控件。这些控件依赖于ViewState和PostBack模型,这些模型在MVC中是禁忌。也没有数据绑定的概念。您的控制器正在将视图模型传递给视图(在本例中为列表),视图必须呈现它。 MVCContrib.Grid中有一个很好的HTML帮助器,可用于在表中显示数据。它还支持分页和排序。如果您不想使用第三方帮助程序方法,则可以在视图中循环遍历模型并手动生成<tr><td>,但这可能是一项单调乏味的任务。所以是的,回到基础,回到真实的万维网。不再像WebForms那样漏洞抽象。

总而言之:在ASP.NET MVC视图中,<asp:XXX runat="server" ... /> 禁止。只需从视图中删除它们即可。我还建议您浏览tutorials here