tag route net mvc for asp asp.net-mvc-3 razor string.format

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!