How do i create a display template so i can display a bool as Yes or No not a checkbox? Using mvc3
<%: Html.DisplayFor(model => model.SomeBoolean)%>
you can extend HtmlHelper for bool.
and remember you must use direction YesNoExtensions namespace on razor page . rem:we can overload DisplayFor for boolean with change function sign.
public namespace SampleExtensions
{
public static class YesNoExtensions
{
public static MvcHtmlString DisplayFor(this HtmlHelper html, Expression> expression, bool flag = true)
{
object o = expression.Compile().Invoke(html.ViewData.Model);
if (o.GetType() == typeof(bool))
{
if ((bool)o)
return new MvcHtmlString("Yes");
else
return new MvcHtmlString("No");
}
return DisplayFor(html, expression);
}
}
}
and razor page.
<%@ import namespace='SampleExtensions' %>
<%: Html.DisplayFor(model => model.SomeBoolean, true)%>
last parameter true is dummy for select right DisplayFor which has been overload by us. I hope usefull.