Я создал шаблон редактора для перечислений, который работал нормально, пока я не решил использовать Ajax.BeginForm. Свойство status
имеет следующее определение:
<DisplayName("Status")>
<UIHint("enum")>
Public Property status As String
Я уже попробовал следующие подходы:
@Using Ajax.BeginForm("New", "Os", Nothing)
@Html.EditorFor(Function(m) m.status, "Enum", New With { .enumType = GetType(OsStatus)})
End Using
@Ajax.BeginForm("New", "Os", Nothing)
@Html.EditorFor(Function(m) m.status, "Enum", New With { .enumType = GetType(OsStatus)})
@Using Html.BeginForm()
@Html.EditorFor(Function(m) m.status, "Enum", New With { .enumType = GetType(OsStatus)})
End Using
@Html.BeginForm()
@Html.EditorFor(Function(m) m.status, "Enum", New With { .enumType = GetType(OsStatus)})
Ничего из вышеперечисленного не сработало.
Код для моего шаблона выглядит следующим образом
@ModelType String
@code
Dim options As IEnumerable(Of OsStatus)
options = [Enum].GetValues(ViewData("enumType")).Cast(Of OsStatus)()
Dim list As List(Of SelectListItem) =
(from value in options
select new SelectListItem With { _
.Text = value.ToString(), _
.Value = value.ToString(), _
.Selected = value.Equals(Model) _
}).ToList()
End If
End Code
@Html.DropDownList(Model, list)
После вызова метода .BeginForm
мой шаблон все еще вызывается, но свойство Model
внутри моего шаблона равно null
.
ЛЮБЫЕ идеи?