Asp.net mvc 在MVC pertial视图中显示webgrid时出现问题
我已经有一个视野了。现在,我必须在该视图中添加一个新的web网格。 为此,我创建了一个局部视图,并尝试在局部视图中绑定webgrid,但没有成功: 这是我的控制器:Asp.net mvc 在MVC pertial视图中显示webgrid时出现问题,asp.net-mvc,asp.net-mvc-3,webgrid,asp.net-mvc-partialview,Asp.net Mvc,Asp.net Mvc 3,Webgrid,Asp.net Mvc Partialview,我已经有一个视野了。现在,我必须在该视图中添加一个新的web网格。 为此,我创建了一个局部视图,并尝试在局部视图中绑定webgrid,但没有成功: 这是我的控制器: public ActionResult RegisteredUsers() { var query = from p in dc.UserProfile select new RegisterModel() {
public ActionResult RegisteredUsers()
{
var query = from p in dc.UserProfile
select new RegisterModel()
{
UserName = p.Name
};
List<RegisterModel> users = query.ToList();
return View(users);
}
这是我的部分观点:
<%
var grid = new WebGrid(Model,rowsPerPage:5);
%>
<%:
grid.GetHtml(
tableStyle: "wGrid",
headerStyle: "wGridHeader",
alternatingRowStyle: "alt",
footerStyle: "wGridFooter",
columns: grid.Columns(
grid.Column("UserName","User name")
)
)
%>
但是,在我的局部视图中,它显示了webgrid中的一个错误。错误是:
必须先绑定数据源,然后才能执行此操作
这个错误是不言自明的。但是行var grid中的“Model”=新的WebGridModel,rowsPerPage:5;是数据源。不是吗??
伙计们,你知道如何解决这个问题吗?我不确定用aspx的方式,但是在局部视图的顶部使用Razor,你必须声明类似于这个@model的东西。既然您正在传递一个列表,那么您需要@model IEnumerable.RegisterModel。是的,我有一个。我想说的是,确保你正在从你的控制器将模型传递到你的视图,如果这不起作用,也许可以在你的模型前面尝试“source:”。。。我会说发布整体视图和局部视图,以便更好地了解可能存在的问题