Если у меня есть такая ViewModel:
public class SignupViewModel
{
[Required]
[DisplayName("Email:")]
public string EmailAddress { get; set; }
}
И используйте EditorFor для отображения полей формы:
@Html.EditorFor(model => model.EmailAddress )
Он будет отображать <input type="text">. Прохладно.
Но в этом конкретном сценарии я уже получил электронную почту из другого источника и хочу предварительно заполнить форму этими данными и показать метку вместо текстового поля (поскольку я не хотите, чтобы они изменили свой адрес электронной почты - не беспокойтесь о том, почему).
Я знаю, что могу использовать [UIHint], но могу ли я сделать это программно с контроллера?
E.g:
var model = new SignupViewModel();
model.EmailAddress = GetFromMysterySource(); // How do i set a UIHint?
Как лучше всего подойти к этому? Должен ли я вообще использовать отдельную ViewModel, что может означать изменение моего представления со строго типизированного на dynamic, или я не должен использовать EditorFor, или я должен использовать собственный шаблон редактора?
Предложения/советы будут весьма признательны.