Asp.net mvc 在MVC pertial视图中显示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() {

我已经有一个视野了。现在,我必须在该视图中添加一个新的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中的“Model”=新的WebGridModel,rowsPerPage:5;是数据源。不是吗??
伙计们,你知道如何解决这个问题吗?

我不确定用aspx的方式,但是在局部视图的顶部使用Razor,你必须声明类似于这个@model的东西。既然您正在传递一个列表,那么您需要@model IEnumerable.RegisterModel。

是的,我有一个。我想说的是,确保你正在从你的控制器将模型传递到你的视图,如果这不起作用,也许可以在你的模型前面尝试“source:”。。。我会说发布整体视图和局部视图,以便更好地了解可能存在的问题