繁体   English   中英

在ASP.Net MVC的视图中显示是/否而不是复选框

[英]Showing Yes/No instead of checkbox in the View of ASP.Net MVC

我是ASP.Net / MVC的新手。 我创建了一个我从模型中填充的视图。 我正在为模型中的每个项创建一个行,以显示模型项的属性/属性。

其中一个成员是bool,名字是Staged。 在视图中我想将其显示为是(如果为true)或否则显示为否。 用户只能阅读它,所以简单的文字是/否就足够了。

我在cshtml中使用以下代码

    <td>
        @Html.DisplayFor(modelItem => item.Staged)         
   </td>

但是,这会在该位置显示一个复选框,如何将其显示为是/否?

谢谢,

你可以使用这样的自定义html助手扩展方法:

@Html.YesNo(item.Staged)

这是以下代码:

public static MvcHtmlString YesNo(this HtmlHelper htmlHelper, bool yesNo)
{
    var text = yesNo ? "Yes" : "No";
    return new MvcHtmlString(text);
}

通过这种方式,您可以使用一行Razor代码在整个站点中重复使用它。

使用Html.Raw并根据模型值true / false有条件地呈现字符串

 <td>
      @Html.Raw((Model.Staged)?"Yes":"No")     
 </td>

在模型中,您需要创建一个类似于此的新属性...

public string ItemStagedYesNo = (item.Staged) ? "Yes" : "No";

然后在视图中,做

@Html.DisplayFor(modelItem => ItemStagedYesNo);

更改

    @Html.DisplayFor(modelItem => item.Staged)         

    @(item.Staged?"Yes":"No")         

这是实现您的要求的最简单方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM