Question

J'ai créé un modèle d'éditeur pour Enum qui fonctionnait bien, jusqu'à ce que je décide d'utiliser ajax.beginform. La propriété status a la définition suivante:

<DisplayName("Status")>
<UIHint("enum")>
Public Property status As String

J'ai déjà essayé les approches suivantes:

@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)})

Aucun des éléments ci-dessus n'a fonctionné.

Le code de mon modèle est le suivant

@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)

Après avoir appelé un .BeginForm Méthode, mon modèle est toujours appelé, mais le Model la propriété à l'intérieur de mon modèle est null.

Des idées?

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top