2011-08-05 32 views
17

Estoy intentando conseguir @String.Format("{0:0.00}",Model.CurrentBalance) en este @Html.TextBoxFor(model => model.CurrentBalance, new { @class = "required numeric", id = "CurrentBalance" })String.Format para la moneda en un TextBoxFor

sólo quiero que la moneda se muestran como .00 interior de mi cuadro de texto, pero no estoy teniendo suerte. Alguna idea sobre como hago esto?

Respuesta

27

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

O

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

+0

@ Html.TextBoxFor (String.Format ("{0: C}", model => model.CurrentBalance), new {@class = "required numeric", id = "CurrentBalance"} .... Es este es el estilo que estoy buscando? – Samjus

+0

Supongo que sí. Dígame usted. –

+5

@ Html.TextBoxFor (model => model.CurrentBalance, new {@class = "required numeric", id = "CurrentBalance", Value = String.Format ("{0: C}", Model.CurrentBalance)}). ..Esto es lo que estaba buscando. Gracias por la ayuda :) – Samjus

1

Mientras Dan-o's solución funcionó, he encontrado un problema con él respecto al uso de TempData basado en la forma (ver ImportModelStateFromTempData and ExportModelStateToTempData). La solución que funcionó para mí fue David Spence's en un hilo relacionado.

Específicamente:

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

Ahora bien, si usted utiliza EditorFor en su opinión, el formato especificado en la anotación debe ser aplicada y su valor debe estar separado por comas:

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

Esto le permite establecer el formato de un nd agrega cualquier atributo HTML adicional.

+1

Considera agregar una explicación a tu respuesta. –

Cuestiones relacionadas