У меня есть перечисление в моем проекте, и я создал собственный шаблон редактора для этого перечисления. Итак, теперь любая модель, которую я имею с свойством с типом этого перечисления, будет выпадающим.
Это отлично работает, но я хотел бы назвать мой элемент select моего выпадающего списка с именем свойства. Вот мой код Razor для моего шаблона редактора.
@model ItemEnumerations.ItemType
<select id="PropertyNameHere" name="PropertyNameHere">
@foreach (ItemEnumerations.ItemType in Enum.GetValues(typeof(ItemEnumerations.ItemType))) {
<option value="@value" @(Model == @value ? "selected=\"selected\"" : "")>@value.ToString()</option>
}
</select>
Итак, когда у меня есть свойство PropertyNameHere для атрибутов id и name элементов select, я хотел бы иметь имя свойства моей модели. Вот пример:
Моя модель:
public class MyModel{
public int ItemID {get;set;}
public string ItemName {get;set;}
public ItemEnumerations.ItemType MyItemType {get;set;}
}
Мой код просмотра:
@model MyModel
@Html.LabelFor(m => model.ItemID)
@Html.DisplayForm(m => model.ItemID)
@Html.LabelFor(m => model.ItemName)
@Html.EditorFor(m => model.ItemName)
@Html.LabelFor(m => model.MyItemType )
@Html.EditorFor(m => model.MyItemType )
Я хочу, чтобы мой элемент select имел имя и идентификатор "MyItemType".