【问题标题】:Problem displaying a webgrid in MVC pertial view在 MVC 局部视图中显示 webgrid 时出现问题
【发布时间】:2011-11-17 10:51:08
【问题描述】:

我已经有看法了。现在我必须在该视图中添加一个新的网络网格。 为此,我创建了一个局部视图并尝试在局部中绑定一个 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);”行中的“模型”是数据源。不是吗?? 各位大佬知道怎么解决吗?

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-3 webgrid asp.net-mvc-partialview


    【解决方案1】:

    我不确定是否采用 aspx 方式,但在局部视图顶部使用 Razor,您必须声明类似 @model &lt;namespace of model&gt;.&lt;modelname&gt; 的内容,因为您要传递一个列表,然后您需要 @model IEnumerable&lt;namespace of model&gt;.RegisterModel

    【讨论】:

    • 是的,我有那个。 >" %>
    • id 说确保您将模型从控制器传递到您的视图,如果这不起作用,也许可以在模型前面尝试“source:”... id 说发布整个视图和部分视图,以便更好地了解可能存在的问题
    猜你喜欢
    • 2019-02-19
    • 2011-08-20
    • 1970-01-01
    • 1970-01-01
    • 2019-10-24
    • 2011-08-01
    • 1970-01-01
    • 2019-11-03
    • 2019-05-05
    相关资源
    最近更新 更多