webgrid和局部视图问题

时间:2015-12-24 08:49:23

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

我刚刚遇到一个代码,其中一个人展示如何在局部视图中保留webgrid并填充。请参阅完整代码 Bind WebGrid form AJAX

的链接

查看他们的部分视图代码

<!-- Current Buildings -->
@{ 
    if (Model != null && Model.Count() > 0)
    {                            
        var grid = new WebGrid(source: Model, rowsPerPage: ThisController.PageSize, ajaxUpdateContainerId: "tabs-2", defaultSort: "BuildingNumber");
        grid.Bind(Model, rowCount: Model.Count(), autoSortAndPage: false);
        grid.Pager(WebGridPagerModes.All);

        grid.GetHtml(
            tableStyle: "display",
            alternatingRowStyle: "alt",
            columns: grid.Columns(
                grid.Column("BuildingNumber", header: "Building Number"),
                grid.Column("ConstructionDate", header: "Construction Date"),
                grid.Column("ExtSquareFeet", header: "Exterior Sq. Ft."),
                grid.Column("IntSquareFeet", header: "Interior Sq. Ft."),
                grid.Column("IU_Avail", header: "IU Available"),
                grid.Column("SpaceAvail", header: "Space Available"),
                grid.Column("FixedAssetValue", header: "Fixed Asset Value"),
                grid.Column("FixedEquipValue", header: "Fixed Equipment Value")
            )
        );   
    }
    else
    {
        @:There are no buildings at this facility.
    }
}   

但是像

这样的顶级模型没有参考
@model IEnumerable<MyProject.Models.BuildingModel>

了解部分视图如何理解他们需要使用哪个模型来填充webgrid。

请参阅此代码以绑定webgrid

grid.Bind(Model, rowCount: Model.Count(), autoSortAndPage: false);

这里使用了单词模型,因此网格如何了解模型,因为在局部视图的顶部没有添加引用。

在主视图中,他们使用此代码渲染部分视图

@Html.Partial("_Buildings")

我不知道模型数据不需要传递

@Html.Partial("_Buildings")

或模型数据自动传递到部分视图。

请帮我理解这一点。感谢

0 个答案:

没有答案