Я собираюсь прямо здесь.ASP.NET MVC C# DisplayFormat Issue
Я пытаюсь показать Monthly Income
, чтобы иметь только 2 десятичных слова.
Я пытался использовать DisplayFormat
, но он не работает, когда я добавляю его в текстовое поле.
Модель
public class AgentModel
{
[Display(Name = "Monthly Income")]
[DisplayFormat(DataFormatString = "{0:0.00}", ApplyFormatInEditMode = true)]
public decimal MonthlyIncome { get; set; }
}
Посмотреть
//this input display the two decimal
@Html.EditorFor(m => m.MonthlyIncome, new { htmlAttributes = new { @class = "form-control" } })
//this one display 5 decimal
@Html.TextBoxFor(m => m.MonthlyIncome, new { @class = "form-control"})
Я запутался в чем разница между этими двумя входами. Я использую DataFormat
, потому что я хочу, чтобы формат был централизован на моей модели. и не использовать этот код @string.Format("{0:N2}",decimal.Round(agent.MonthlyIncome, 2, MidpointRounding.AwayFromZero))
для ограничения десятичных знаков. так как я буду делать это во всех своих взглядах, если это то, что я делаю.
Я также попытался просто вывести значение monthly income
<td>@agent.MonthlyIncome</td>
это все еще возвращает 5 знаков после запятой.
Я вижу ..., так что мне нужно добавить параметр формата на каждый вид на которые у меня есть? где, как если бы я использовал EditorFor, он автоматически добавит dataanotation в мою модель. –
Если вы хотите использовать 'TextBoxFor()', тогда да. Но есть ли причина, по которой вы не хотите использовать 'EditorFor()' - 2 реализации в вашем вопросе будут генерировать идентичный html. –
Привет, steph .. Я собираюсь использовать 'EditorFor', поскольку он эффективен, когда дело доходит до редактирования формата текстового поля .... однако, как я могу отобразить формат« MonthlyIncome », если я попытался добавить это на моем столе liek это '