我刚刚遇到一个代码,其中一个人展示如何在局部视图中保留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。
grid.Bind(Model, rowCount: Model.Count(), autoSortAndPage: false);
这里使用了单词模型,因此网格如何了解模型,因为在局部视图的顶部没有添加引用。
在主视图中,他们使用此代码渲染部分视图
@Html.Partial("_Buildings")
我不知道模型数据不需要传递
@Html.Partial("_Buildings")
或模型数据自动传递到部分视图。
请帮我理解这一点。感谢