c# asp.net-mvc-3 string.format

c# - String.Format para la moneda en un TextBoxFor



asp.net-mvc-3 (3)

string.format("{0:c}", Model.CurrentBalance) debería darle formato de moneda.

O

@Html.TextBoxFor(model => model.CurrentBalance, new { @class = "required numeric", id = "CurrentBalance", Value=String.Format("{0:C}",Model.CurrentBalance) })

Estoy tratando de obtener @String.Format("{0:0.00}",Model.CurrentBalance) en este @Html.TextBoxFor(model => model.CurrentBalance, new { @class = "required numeric", id = "CurrentBalance" })

Solo quiero que la moneda se muestre como .00 dentro de mi cuadro de texto, pero no tengo suerte. Alguna idea sobre como hago esto?


@Html.TextBoxFor(model => model.CurrentBalance, "{0:c}", new { @class = "required numeric", id = "CurrentBalance" })

Esto le permite establecer el formato y agregar atributos HTML adicionales.


Si bien la solución de Dan-o funcionó, encontré un problema relacionado con el uso de TempData basado en formularios (vea ImportModelStateFromTempData y ExportModelStateToTempData ). La solución que funcionó para mí fue la de David Spence en un hilo relacionado.

Específicamente:

[DisplayFormat(DataFormatString = "{0:C0}", ApplyFormatInEditMode = true)] public decimal? Price { get; set; }

Ahora, si usa EditorFor en su vista, se debe aplicar el formato especificado en la anotación y su valor debe estar separado por comas:

<%= Html.EditorFor(model => model.Price) %>