Ajax.BeginForm을 사용하기 전까지 제대로 작동하는 enum의 편집기 템플릿을 만들었습니다. 다음과 같이 정의되어있다 status
속성은 :Ajax.BeginForm 및 Html.BeginForm을 호출 한 후에도 편집기 템플릿이 작동하지 않습니다.
@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
0 :
<DisplayName("Status")>
<UIHint("enum")>
Public Property status As String
는 이미 다음 approachs 시도
@Html.BeginForm()
@Html.EditorFor(Function(m) m.status, "Enum", New With { .enumType = GetType(OsStatus)})
위 작업 중 아무 것도 작동하지 않았습니다. .BeginForm
메소드를 호출 한 후
@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)
을 다음과 같이
내 템플릿의 코드는, 내 템플릿은 여전히라고하지만, 내 템플릿 내부의 Model
속성은 null
입니다.
아이디어가 있으십니까?
모든 지점에서 옳습니다. 하지만 .. 1.'End If'는 단순함을 위해 코드를 줄이는 동안주의가 부족한 결과였습니다. 2. 나중에 비교를 수정했는데 그 원인이 아니 었습니다. 3.'Model'을 이름으로 사용하는 중에도 오류가 발생했습니다 하지만 정말 좋은 팁은'Cast'의 일반화에 문제가 발생되지 않았다 (명성!) 나는'.BeginForm' 메소드를 호출하고 있지 않다 경우 내가, 짧은에, 왜 모르겠지만, 해당 템플릿이 작동합니다. '.BeginForm'을 사용하고 있다면 ** 나는 Os를 생성 할 때 null 모델에 대한 드롭 다운을 렌더링하기 위해 에디터에 조건을 추가해야합니다. 감사합니다. – svallory