C# 使用viewmodel从数据库中下拉列表
我正在构建一个ASP.NETMVC4Web应用程序,它允许创建具有角色的用户。有两个角色:管理员和用户。注册时,用户可以通过下拉列表选择新用户的角色。这就是我到目前为止所做的 我的UserViewModel:C# 使用viewmodel从数据库中下拉列表,c#,asp.net-mvc,viewmodel,html.dropdownlistfor,viewbag,C#,Asp.net Mvc,Viewmodel,Html.dropdownlistfor,Viewbag,我正在构建一个ASP.NETMVC4Web应用程序,它允许创建具有角色的用户。有两个角色:管理员和用户。注册时,用户可以通过下拉列表选择新用户的角色。这就是我到目前为止所做的 我的UserViewModel: public class UserModel { [Required] [StringLength(50)] [Display(Name="Username : ")] public string Username { get; set; } [R
public class UserModel
{
[Required]
[StringLength(50)]
[Display(Name="Username : ")]
public string Username { get; set; }
[Required]
[DataType(DataType.Password)]
[StringLength(50, MinimumLength=6)]
[Display(Name = "Password : ")]
public string Password { get; set; }
public Role Role { get; set; }
}
以及我的HttpGet方法:
[HttpGet]
public ActionResult Registration()
{
context = new MainDatabaseEntities();
ViewBag.Roles = new SelectList(context.Roles, "RoleId", "RoleDesc");
return View();
}
从这里开始,我不知道我应该做什么。我的ViewModel是否足够好,可以执行我想要的操作(创建和更新用户)?我应该如何在注册视图中使用我的ViewBag.Roles
有人帮忙吗?我将非常感激 查看:
@Html.DropDownListFor(m => m.RoleId, (SelectList)ViewBag.Roles )
您的模型中应该有一个RoleId,以保存所选项目。视图:
@Html.DropDownListFor(m => m.RoleId, (SelectList)ViewBag.Roles )
您的模型中应该有一个RoleId,以保存所选项目。视图:
@Html.DropDownListFor(m => m.RoleId, (SelectList)ViewBag.Roles )
您的模型中应该有一个RoleId,以保存所选项目。视图:
@Html.DropDownListFor(m => m.RoleId, (SelectList)ViewBag.Roles )
您的模型中应该有一个RoleId来保存所选项目。您可以这样使用它
@Html.DropDownList("Roles")
它将为您的ViewBag创建下拉列表您可以这样使用它
@Html.DropDownList("Roles")
它将为您的ViewBag创建下拉列表您可以这样使用它
@Html.DropDownList("Roles")
它将为您的ViewBag创建下拉列表您可以这样使用它
@Html.DropDownList("Roles")
它将为您的ViewBag创建下拉列表您需要将您的ViewBag项目显式转换为预期类型
(IEnumerable)
,因为ViewBag是一种动态类型
@Html.DropDownListFor(m => m.RoleId,((IEnumerable<SelectListItem>)ViewBag.Roles))
@Html.DropDownListFor(m=>m.RoleId,((IEnumerable)ViewBag.Roles))
您需要显式地将ViewBag项目转换为预期类型(IEnumerable)
,因为ViewBag是一种动态类型
@Html.DropDownListFor(m => m.RoleId,((IEnumerable<SelectListItem>)ViewBag.Roles))
@Html.DropDownListFor(m=>m.RoleId,((IEnumerable)ViewBag.Roles))
您需要显式地将ViewBag项目转换为预期类型(IEnumerable)
,因为ViewBag是一种动态类型
@Html.DropDownListFor(m => m.RoleId,((IEnumerable<SelectListItem>)ViewBag.Roles))
@Html.DropDownListFor(m=>m.RoleId,((IEnumerable)ViewBag.Roles))
您需要显式地将ViewBag项目转换为预期类型(IEnumerable)
,因为ViewBag是一种动态类型
@Html.DropDownListFor(m => m.RoleId,((IEnumerable<SelectListItem>)ViewBag.Roles))
@Html.DropDownListFor(m=>m.RoleId,((IEnumerable)ViewBag.Roles))
首先,它显示您正在尝试注册帐户。为此,请遵循分步程序:
注册http get方法添加以下行
ViewBag.Name=新选择列表(context.Roles.ToList(),“Name”,“Name”)
然后HttpPost方法添加以下行:
ViewBag.Name=新选择列表(context.Roles.ToList(),“Name”,“Name”)
在register视图中添加以下行:
@Html.DropDownList(“UserRoles”,(SelectList)ViewBag.Name,”)
我希望这能起作用。首先,它显示您正在尝试注册该帐户。为此,请遵循分步程序: 注册http get方法添加以下行 ViewBag.Name=新选择列表(context.Roles.ToList(),“Name”,“Name”) 然后HttpPost方法添加以下行: ViewBag.Name=新选择列表(context.Roles.ToList(),“Name”,“Name”) 在register视图中添加以下行: @Html.DropDownList(“UserRoles”,(SelectList)ViewBag.Name,”)
我希望这能起作用。首先,它显示您正在尝试注册该帐户。为此,请遵循分步程序: 注册http get方法添加以下行 ViewBag.Name=新选择列表(context.Roles.ToList(),“Name”,“Name”) 然后HttpPost方法添加以下行: ViewBag.Name=新选择列表(context.Roles.ToList(),“Name”,“Name”) 在register视图中添加以下行: @Html.DropDownList(“UserRoles”,(SelectList)ViewBag.Name,”)
我希望这能起作用。首先,它显示您正在尝试注册该帐户。为此,请遵循分步程序: 注册http get方法添加以下行 ViewBag.Name=新选择列表(context.Roles.ToList(),“Name”,“Name”) 然后HttpPost方法添加以下行: ViewBag.Name=新选择列表(context.Roles.ToList(),“Name”,“Name”) 在register视图中添加以下行: @Html.DropDownList(“UserRoles”,(SelectList)ViewBag.Name,”)
我希望这能起作用。这对你很有帮助。。。去这对你很有帮助。。。去这对你很有帮助。。。去这对你很有帮助。。。是的,确实,通过角色对象,我可以得到RoleId,它可以工作,谢谢!是的,确实,通过角色对象,我可以得到RoleId,它可以工作,谢谢!是的,确实,通过角色对象,我可以得到RoleId,它可以工作,谢谢!是的,确实,通过角色对象,我可以得到RoleId,它可以工作,谢谢!不要只是在这里发布代码,解释一下,让未来的用户能够理解better@FabioAntunes,添加了解释不要只是在这里发布代码,解释它以便将来的用户能够理解它better@FabioAntunes,添加了解释不要只是在这里发布代码,解释它以便将来的用户能够理解它better@FabioAntunes,添加的解释不要只是在这里发布代码,解释它以便将来的用户能够理解它better@FabioAntunes,补充解释