我已经有一个视图了。现在我必须在视图中添加一个新的web网格。为此,我创建了一个局部视图,并试图在局部中绑定webgrid,但没有成功。(
这是我的控制器
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 = new WebGrid(Model,rowsPerPage:5);"行中的"Model"是数据源。不是吗? ?伙计们,你们知道怎么解决这个问题吗?
我不确定aspx的方式,但在部分视图的顶部使用Razor,你必须声明这样的东西@model <namespace of model>.<modelname>
,因为你正在传递一个列表,那么你需要@model IEnumerable<namespace of model>.RegisterModel