Asp.net mvc 4 DropDownListFor不会使所需物品光滑
组合加载ok,但项目“3”未被选中。 如何选择此项目 下面是我用于列表和选择的代码Asp.net mvc 4 DropDownListFor不会使所需物品光滑,asp.net-mvc-4,selectedvalue,dropdownlistfor,Asp.net Mvc 4,Selectedvalue,Dropdownlistfor,组合加载ok,但项目“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",
@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"))
控制器。在本节中,我将初始化profile属性
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
结束命名空间您应该使用要在列表中选择的值初始化
配置文件
属性。如果Profile
不是int
,请创建一个属性SelectedProfileId
,并使用此属性
@Html.DropDownListFor(Function(m) m.SelectedProfileId, New SelectList(Items, "Value", "Text"))
试试这个,我将它绑定到模型的属性,它就可以工作了
@Html.DropDownListFor(Function(m) m.Profile, New SelectList(Items, "Value", "Text", Model.Profile))
问题是配置文件属性是枚举。我使用您的“SelectedProfile”属性作为整数,工作正常。(我扩展了mi代码示例)谢谢!
@Html.DropDownListFor(Function(m) m.Profile, New SelectList(Items, "Value", "Text", Model.Profile))