C# 显示基类MVC 5中的标题和行
我有一个基类,很多类都是从这个基类继承的。每个派生类都有一个包含基类的局部视图。我想做的是这样的:C# 显示基类MVC 5中的标题和行,c#,asp.net-mvc,C#,Asp.net Mvc,我有一个基类,很多类都是从这个基类继承的。每个派生类都有一个包含基类的局部视图。我想做的是这样的: @Html.DisplayFor(item => ((Inq_DetailsBase)Model)) 显示基类中的所有标题和值。但是我得到了一个 模板只能用于字段访问、属性访问、一维数组索引或单参数自定义索引器表达式 我知道我需要输入该基类的成员名称。然而,这似乎违背了可重用性的目的。在我的局部视图中是否有一种方法可以显示基类中的成员,而不必键入每个成员?有什么原因不能将基类放入它自己的局
@Html.DisplayFor(item => ((Inq_DetailsBase)Model))
显示基类中的所有标题和值。但是我得到了一个
模板只能用于字段访问、属性访问、一维数组索引或单参数自定义索引器表达式
我知道我需要输入该基类的成员名称。然而,这似乎违背了可重用性的目的。在我的局部视图中是否有一种方法可以显示基类中的成员,而不必键入每个成员?有什么原因不能将基类放入它自己的局部视图中?类似于这个问题的答案 视图(~/Views/Home/Inq_Details.cshtml): 部分(~/Views/Home/Inq_DetailsBase.cshtml): 然后,您只需更改详细信息页面,基础将使用
Html.Partial()
而不是Html.DisplayFor
。
@model Inq_Details
@using (Html.BeginForm())
{
@Html.Partial("Inq_DetailsBase", Model)
@Html.TextBoxFor(m => m.DetailsField1)
@Html.TextBoxFor(m => m.DetailsField2)
....
}
@model Inq_DetailsBase
@Html.TextBoxFor(x => x.BaseField1)
@Html.TextBoxFor(x => x.BaseField2)
@Html.TextBoxFor(x => x.BaseField3)