У меня есть перечисление в моем проекте, и я создал собственный шаблон редактора для этого перечисления. Итак, теперь любая модель, имеющая свойство со значением перечисления, будет отображать выпадающий список.
Это прекрасно работает, но я бы хотел назвать свой элемент 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 для атрибутов идентификатора и имени выбранных элементов, я хотел бы иметь имя свойства моей модели. Вот пример:
Моя модель:
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'.