0

コンボは問題なくロードされますが、アイテム「3」は選択されません。このアイテムを選択するにはどうすればよいですか?

リストと選択に使用しているコードは次のとおりです。

@Code

    Dim Items As New Collections.Generic.List(Of SelectListItem)
    Items.Add(New SelectListItem With {.Value = "1", .Text = "Usuario registrado"})
    Items.Add(New SelectListItem With {.Value = "2", .Text = "Administrador"})
    Items.Add(New SelectListItem With {.Value = "3", .Text = "Supervisor"})
    Items.Add(New SelectListItem With {.Value = "4", .Text = "Usuario de pulmón"})
    Items.Add(New SelectListItem With {.Value = "5", .Text = "Usuario de picking"})

End Code


@Html.LabelFor(Function(m) m.Profile)
@Html.DropDownListFor(Function(m) m.Profile, New SelectList(Items, "Value", "Text", "3"))

コントローラ。このセクションでは、プロファイル プロパティを初期化します。

    Public Function Edit() As ActionResult
    Dim Model As New EditModel

    Dim User = Membership.FindUsersByName(Request("UserName"))(Request("UserName"))
    Model.UserName = User.UserName

    If Roles.IsUserInRole(User.UserName, Models.AppRoles.Administrador.ToString) Then
        Model.Profile = Models.AppRoles.Administrador

    ElseIf Roles.IsUserInRole(User.UserName, Models.AppRoles.Supervisor.ToString) Then
        Model.Profile = Models.AppRoles.Supervisor

    ElseIf Roles.IsUserInRole(User.UserName, Models.AppRoles.UsuarioPulmon.ToString) Then
        Model.Profile = Models.AppRoles.UsuarioPulmon

    ElseIf Roles.IsUserInRole(User.UserName, Models.AppRoles.UsuarioPicking.ToString) Then
        Model.Profile = Models.AppRoles.UsuarioPicking

    ElseIf Roles.IsUserInRole(User.UserName, Models.AppRoles.UsuarioRegistrado.ToString) Then
        Model.Profile = Models.AppRoles.UsuarioRegistrado

    End If

    Model.Email = User.Email

    Return View(Model)
End Function



Public Class EditModel

<Required()>
<Display(Name:="Perfil")>
Public Property Profile() As Models.AppRoles

<Required()> _
<Display(Name:="Nombre de usuario")> _
Public Property UserName() As String

<Required()> _
<DataType(DataType.EmailAddress)> _
<Display(Name:="E-mail")> _
Public Property Email() As String

クラス終了

Namespace Models
Public Enum AppRoles
    UsuarioRegistrado = 1
    Administrador = 2
    Supervisor = 3
    UsuarioPulmon = 4
    UsuarioPicking = 5
End Enum

名前空間の終了

4

2 に答える 2

0

Profileリストで選択したい値でプロパティを初期化する必要があります。Profileが でない場合は、プロパティをint作成し、SelectedProfileIdこのプロパティを使用します

@Html.DropDownListFor(Function(m) m.SelectedProfileId, New SelectList(Items, "Value", "Text"))
于 2013-01-17T02:31:29.373 に答える
0

これを試してみてください。モデルのプロパティにバインドすると、機能します。

@Html.DropDownListFor(Function(m) m.Profile, New SelectList(Items, "Value", "Text", Model.Profile))
于 2013-01-17T04:13:26.590 に答える