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

Ahm*_*med 6 c# asp.net asp.net-mvc asp.net-mvc-3 asp.net-mvc-4

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

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

我在cshtml中使用以下代码

    <td>
        @Html.DisplayFor(modelItem => item.Staged)         
   </td>
Run Code Online (Sandbox Code Playgroud)

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

谢谢,

hut*_*oid 14

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

@Html.YesNo(item.Staged)
Run Code Online (Sandbox Code Playgroud)

这是以下代码:

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

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

  • namespace System.Web.Mvc {public static class HtmlHelperExtensions {public static MvcHtmlString YesNo(this HtmlHelper htmlHelper,bool yesNo){var text = yesNo?"是":"否"; 返回新的MvcHtmlString(文本); }}} (2认同)

Mur*_*san 7

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

 <td>
      @Html.Raw((Model.Staged)?"Yes":"No")     
 </td>
Run Code Online (Sandbox Code Playgroud)