¿Cuál es la mejor manera de imprimir "Sí" o "No" en función de un valorAyuda con C# y bool en asp.net mvc
En mi opinión, quiero imprimir
Model.isStudent
y no quiero Verdadero o Falso, quiero Sí o No .... ¿Tengo que escribir la declaración si no?
¿Cuál es la mejor manera de imprimir "Sí" o "No" en función de un valorAyuda con C# y bool en asp.net mvc
En mi opinión, quiero imprimir
Model.isStudent
y no quiero Verdadero o Falso, quiero Sí o No .... ¿Tengo que escribir la declaración si no?
Escribir un método de ayuda:
public static class MyExtensions
{
public static string FormatBool(this HtmlHelper html, bool value)
{
return html.Encode(value ? "Yes" : "No");
}
}
Y utilizar de esta manera:
<%= Html.FormatBool(Model.IsStudent) %>
¿Qué tal un método de extensión en bool:
public static class BoolExtensions {
public static string ToYesNo(this bool value) {
return value ? "Yes": "No";
}
}
uso sería:
Model.isStudent.ToYesNo();
MVC 4: Este ejemplo muestra en detalle la implementación de plantillas booleanas para una lista desplegable que contiene los valores Sí, No y No establecido, y también maneja valores de bool nulo. Inspirado de Darin Dimitrov y Jorge - Gracias.
Modelo Student.cs
[Display(Name = "Present:")]
[UIHint("YesNo")]
public bool? IsPresent { get; set; }
DisplayTemplates: YesNo.cshtml
@model Nullable<bool>
@if (Model.HasValue)
{
if (Model.Value)
{ <text>Yes</text> }
else
{ <text>No</text> }
}
else
{ <text>Not Set</text> }
EditorTemplates: YesNo.cshtml
@model Nullable<bool>
@{
var listItems = new[]
{
new SelectListItem { Value = "null", Text = "Not Set" },
new SelectListItem { Value = "true", Text = "Yes" },
new SelectListItem { Value = "false", Text = "No" }
};
}
@if (ViewData.ModelMetadata.IsNullableValueType)
{
@Html.DropDownList("", new SelectList(listItems, "Value", "Text", Model))
}
else
{
@Html.CheckBox("", Model.Value)
}
Vista:
<div class="editor-label">
@Html.LabelFor(model => model.IsPresent)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.IsPresent)
@Html.ValidationMessageFor(model => model.IsPresent)
</div>