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)