在MVC3中,我一直能够依赖Html.DisplayForModel()方法来生成我的数据的显示。使用此方法和各种模板,我有一个单独的视图来显示我的多个模型。但是我想知道的是,是否有一种方法可以在我的模型列表上工作呢?
例如,我有一个名为Networks的模型。我用于列出多个网络的视图如下:
我在想是否有可能在生成模型列表时使用单个模板。我可以依靠属性来知道我想要在列表中生成哪些属性,例如:[ListItem]。
让我感到困惑的是,如何将动态模型传递给扩展方法?如果有帮助的话,Html.Grid扩展来自MVCContrib。其他人是否做过类似的事情?依赖模板会很好,因为它会大大减少代码量。
例如,我有一个名为Networks的模型。我用于列出多个网络的视图如下:
@model PagedList<Network>
<div id="networkList">
@Html.Grid(Model).Columns(column => {
column.For(x => Html.ActionLink(x.Id.ToString(), "NetworkDetails", new { id = x.Id })).Named("Network ID");
column.For(x => x.Name);
column.For(x => x.Enabled);
}).Attributes(Style => "text-align: center")
@Html.AjaxPager(Model, new PagerOptions() { PageIndexParameterName="page", ShowDisabledPagerItems = false, AlwaysShowFirstLastPageNumber=true },
new AjaxOptions() { UpdateTargetId = "networkList" })
</div>
我在想是否有可能在生成模型列表时使用单个模板。我可以依靠属性来知道我想要在列表中生成哪些属性,例如:[ListItem]。
让我感到困惑的是,如何将动态模型传递给扩展方法?如果有帮助的话,Html.Grid扩展来自MVCContrib。其他人是否做过类似的事情?依赖模板会很好,因为它会大大减少代码量。