Razor 在视图中显示object ToString()值

Razor 在视图中显示object ToString()值,razor,view,asp.net-core-mvc,tag-helpers,Razor,View,Asp.net Core Mvc,Tag Helpers,我有一个ASP.Net核心MVC1.1 web应用程序。在其中,我有一个视图-Details.cshtml,它只显示一条选定的记录: @model InspectionsData.Models.House @{ ViewData["Title"] = "Details"; } <h2>Details</h2> <div> <dl class="dl-horizontal"> @*<dd>

我有一个ASP.Net核心MVC1.1 web应用程序。在其中,我有一个视图-Details.cshtml,它只显示一条选定的记录:

@model InspectionsData.Models.House

@{
    ViewData["Title"] = "Details";
}

<h2>Details</h2>

<div>
    <dl class="dl-horizontal"> 
        @*<dd>
            @Html.DisplayFor(model => model.Id)
        </dd>*@
        <dt>
            @Html.DisplayNameFor(model => model.Street1)
        </dt>
        <dd>
            @Html.DisplayFor(model => model.Street1)
        </dd>
        <dt>
            @Html.DisplayNameFor(model => model.Street2)
        </dt>
        <dd>
            @Html.DisplayFor(model => model.Street2)
        </dd>
        <dt>
            @Html.DisplayNameFor(model => model.Street3)
        </dt>
        <dd>
            @Html.DisplayFor(model => model.Street3)
        </dd>
        <dt>
            @Html.DisplayNameFor(model => model.City)
        </dt>
        <dd>
            @Html.DisplayFor(model => model.City)
        </dd>
        <dt>
            @Html.DisplayNameFor(model => model.Region)
        </dt>
        <dd>
            @Html.DisplayFor(model => model.Region)
        </dd>
        <dt>
            @Html.DisplayNameFor(model => model.Country)
        </dt>
        <dd>
            @Html.DisplayFor(model => model.Country)
        </dd>
        <dt>
            @Html.DisplayNameFor(model => model.PropertyType)
        </dt>
        <dd>
            @Html.DisplayFor(model => model.PropertyType)
        </dd>
    </dl>
</div>
<div>
    <a asp-action="Edit" asp-route-id="@Model.Id">Edit</a> |
    <a asp-action="Index">Back to List</a>
</div>
如您所见,我正在重写ToString()方法,希望视图在渲染时执行ToString(),从而显示PropertyType的值,但它没有这样做。所以它只是一片空白。在我看来,我试图做到这一点:

@Html.DisplayFor(model => model.PropertyType.ToString())
但它一点也不喜欢(错误:InvalidOperationException:模板只能用于字段访问、属性访问、一维数组索引或单参数自定义索引器表达式) 我是否必须向PropertyType类添加一个字符串字段,并将视图绑定到该字段才能显示属性类型?或者有没有一个我不知道的更优雅的解决方案


谢谢…

一个选项非常简单:

@Model.PropertyType.ToString()

但据我所知,juunas的解决方案(@Model.PropertyType.ToString())不会使用显示模板。在这种情况下,没关系。但我想知道,如果我在模型中装饰了这个属性并希望它显示为这样,还有什么其他解决方案呢问题是,正如错误所说,它无法将表达式映射到属性。您所想到的是在哪里创建一个字符串属性,然后使用它,这是可行的。
@Model.PropertyType.ToString()