Макс. Длина поля ввода MVC4

89
8

Я показываю заполнитель из модели вроде

@Html.TextBox("",ViewData.TemplateInfo.FormattedModelValue, 
new { placeholder = ViewData.ModelMetadata.Watermark })

из Shared\EditorTemplates folder and call it String.cshtml.

Теперь я хочу установить maxlength из Model вместо того, чтобы вставлять свой вид, как показано ниже.

В моей модели

[Required(ErrorMessage = "Please Enter Community Code")]
[Display(Prompt = "Enter Company Code")]
[StringLength(6)]
public string COMPANYCODE { get; set; }

Посмотреть:

@Html.EditorFor(model => model.COMPANYCODE, new { @maxlength = "4" })

Как я могу достичь этого?

спросил(а) 2014-07-09T18:31:00+04:00 6 лет, 2 месяца назад
1
Решение
57

Я изменил свою модель и String.cshtml, как показано ниже.

Модель:

[Required(ErrorMessage = "Please Enter Community Code")]
[Display(Prompt = "Enter Community Code")]
[AdditionalMetadata("MaxLength", 4)]
public string COMPANYCODE { get; set; }

String.cshtml

@{
string maxLength = ViewData.ModelMetadata.AdditionalValues.ContainsKey("MaxLength")
? ViewData.ModelMetadata.AdditionalValues["MaxLength"].ToString() : null;
}

@Html.TextBox("", ViewData.TemplateInfo.FormattedModelValue,
new { placeholder = ViewData.ModelMetadata.Watermark, @class = "form-control", maxlength = maxLength })

Посмотреть:

 @Html.EditorFor(model => model.COMPANYCODE)

это сработало.

ответил(а) 2014-07-09T19:14:00+04:00 6 лет, 2 месяца назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема