Предварительное заполнение полей текстовых полей с помощью MVC / jQuery - PullRequest
3 голосов
/ 23 марта 2011

Недавно я проходил проект, пытаясь очистить несколько входных данных (большинство из них в основном Dates (mm/dd/yyyy) или DateTimes (mm/dd/yyyy hh:mm:ss am/pm).

Я использую плагин digitalBush Masking , и все, кажется, работает так же, как и с пустыми полями. Однако - когда я попытался применить замаскированное поле к полю, привязанному к ViewModel, у меня, похоже, возникли проблемы.

Пример:

HTML:

<%= Html.TextBoxFor(model => model.DateOfBirth})%>

JQuery:

$("#DateOfBirth").mask("99/99/9999",{placeholder:" "});

Мне было просто любопытно, есть ли у кого-нибудь идеи о том, как реализовать маскирование текстовых полей для поля, которое предварительно заполняется данными из ViewModel, чтобы оно выглядело как обычно, но при изменении оно реагировало бы как Маскированный ввод.

1 Ответ

6 голосов
/ 23 марта 2011

Вместо:

<%= Html.TextBoxFor(model => model.DateOfBirth) %>

Вы можете написать:

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

и затем вы можете украсить соответствующее свойство модели представления с атрибутом [DisplayFormat]:

[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
public DateTime DateOfBirth { get; set; }
...