我目前正在尝试创建修改用户角色页面。以下是我到目前为止所取得的成就......
(用户名字段确实会填充,我现在只是将其清空。)
下面是我的视图下拉...
@Html.DropDownList("Roles", new SelectList(ViewBag.RoleList), "Modify Role", new { @class = "form-control" })这是我需要它调用的控制器操作
[AuthLog(Roles = "Super Admin")]
[HttpPost]
public ActionResult ModifyUser(string id)
{
string newRole = Request.Form["Roles"];
if (id != null && newRole != null)
{
ApplicationDbContext context = new ApplicationDbContext();
var newRoleName = context.Roles.FirstOrDefault(u => u.Name == newRole);
var newid = newRoleName.Id;
context.UpdateRole(id, newid);
}
return RedirectToAction("Index", "UserControl");
}
下面是我发送到我的方法的数据,以及我如何创建我的下拉列表。
{
[AuthLog(Roles = "Super Admin")]
public ActionResult Index()
{
ApplicationDbContext context = new ApplicationDbContext();
var usersWithRoles = (from user in context.Users
select new
{
UserId = user.Id,
Username = user.UserName,
user.Email,
RoleNames = (from userRole in user.Roles
join role in context.Roles on userRole.RoleId
equals role.Id
select role.Name).ToList()
})
问题是我需要一种方法,不仅可以发送在下拉列表中选择的数据,还可以发送用户 ID。UserId 在我的方法中指定,并通过 user.UserId 引入表循环 public string UserId { get; set; }
理想情况下,这将通过在下拉列表中选择角色的简单更改来完成。
简而言之——只要在下拉列表中选择了一个角色,我就需要一种方法让我的下拉列表将 UserId 和所选角色发送到我的控制器操作/方法。
任何帮助将不胜感激。
qq_笑_17
MMMHUHU
相关分类