asp.net-mvc-3 - route - razor mvc
Formato de Moneda MVC (1)
Puede decorar su propiedad de modelo de vista de GoalAmount
con el atributo [DisplayFormat]
:
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:c}")]
public decimal GoalAmount { get; set; }
y en la vista simplemente:
@Html.EditorFor(model => model.Project.GoalAmount)
El segundo argumento del Editor Para ayudante no hace nada de lo que crees que hace. Le permite pasar ViewData adicional a la plantilla del editor, no es htmlAttributes.
Otra posibilidad es escribir una plantilla de editor personalizada para la moneda ( ~/Views/Shared/EditorTemplates/Currency.cshtml
):
@Html.TextBox(
"",
string.Format("{0:c}", ViewData.Model),
new { @class = "text-box single-line" }
)
y entonces:
@Html.EditorFor(model => model.Project.GoalAmount, "Currency")
o use [UIHint]
:
[UIHint("Currency")]
public decimal GoalAmount { get; set; }
y entonces:
@Html.EditorFor(model => model.Project.GoalAmount)
Estoy tratando de formatear un cuadro de texto Html.EditorFor para tener formato de moneda, estoy tratando de basarlo en este hilo String.Format para la moneda en un TextBoxFor . Sin embargo, mi texto todavía aparece como 0.00 sin formato de moneda.
<div class="editor-field">
@Html.EditorFor(model => model.Project.GoalAmount, new { @class = "editor- field", Value = String.Format("{0:C}", Model.Project.GoalAmount) })
Existe el código para lo que estoy haciendo, y aquí está el html para ese campo en el sitio web en sí, contenido en el div del editor por supuesto.
<input class="text-box single-line valid" data-val="true"
data-val-number="The field Goal Amount must be a number."
data-val-required="The Goal Amount field is required."
id="Project_GoalAmount" name="Project.GoalAmount" type="text" value="0.00">
¡Cualquier ayuda será apreciada, gracias!