在MVC局部视图中显示webgrid的问题



我已经有一个视图了。现在我必须在视图中添加一个新的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

最新更新