.net mvc仅在具有值的情况下在视图中显示字段

Ste*_*hen 4 asp.net-mvc

我有一些“客户详细信息”,我只想显示具有值的字段。

例如,如果Telephone为null,则不显示它。

我目前在模型中

    public string FormattedTelephone
    {
        get { return string.IsNullOrEmpty(this.Telephone) ? " " : this.Telephone; }
    }
Run Code Online (Sandbox Code Playgroud)

在我看来

@Html.DisplayFor(model => model.FormattedTelephone)
Run Code Online (Sandbox Code Playgroud)

这工作正常,但是,如果字段具有值,例如,我想显示字段名称

电话: 02890777654

如果我@Html.DisplayNameFor在视图中使用,即使该字段为null,它也会显示该字段名称。

我还想用粗体设置字段名称的样式,不确定在哪里设置样式(视图或视图模型)。

For*_*Two 5

对于粗体样式,您可以在视图中使用以下代码,但是使用外部样式表当然是合适的。

<style type="text/css">
.telephone{
font-weight: bold;
}
</style>
Run Code Online (Sandbox Code Playgroud)

您可以在视图中检查是否为空并有条件地显示数据:

 @if (Model.FomattedTelephone != null)
    {
       <div class="telephone">
          @Html.DisplayFor(model => model.FormattedTelephone)</div>
    }
Run Code Online (Sandbox Code Playgroud)