【问题标题】:mvc - select a user in a list of usersmvc - 在用户列表中选择一个用户
【发布时间】:2017-07-31 18:43:00
【问题描述】:

我有一个用户列表和他们的角色,它列出了我的 SQL 数据库中的所有用户。我希望能够选择其中一位用户并更改他们的角色,如下图所示。但我需要帮助来获取所选用户的“数据”。 如果这很重要,我正在使用 MVC Identity。

显示列表的控制器代码

var role2 = (from r in context.Roles where r.Name.Contains("Administrator") select r).FirstOrDefault();
var admins = context.Users.Where(x => x.Roles.Select(y =>   y.RoleId).Contains(role2.Id)).ToList();

var adminVM = admins.Select(user => new UserViewModel
{
Username = user.UserName,
RoleName = "Administrator"
}).ToList();

查看代码:

@foreach (var usera in Model.Administrators)
    {
       <td>@usera.Username</td>
       <td>@usera.RoleName</td>
       <td>(bootstrap modal button)</td>
       
       bootstrap modal body:
       Current Role: <strong>@usera.RoleName</strong>

然后我想从他们的角色中删除“选定”用户并添加到另一个。



【问题讨论】:

标签: asp.net asp.net-mvc asp.net-mvc-4 razor asp.net-identity


【解决方案1】:

问题的解释是错误的。您已经提到“但我​​需要帮助才能获取所选用户的“数据””。后来您再次提到“然后我想从他们的角色中删除”选定的“用户并添加到另一个”。问题是您需要绑定一个 onClick 方法并在那里传递 USER ID。看我下面的代码,

<td><button onClick="openModal(USERId)" class="btn btn-default"></button></td>

请参阅此处“openModal”是一种用户定义的方法,我在其中传递该用户 ID。因此,现在当您单击此按钮时,获取该值并将其分配到隐藏字段中,正如您所说,它将打开编辑模式。看我下面的代码,

//这是我在 HTML 中的隐藏字段

<button Type="hidden" id="myHiddenField"/>

//下面是脚本

function openModal(id)
{
 $('#myHiddenField').val(id);
 //And here you can open the modal
 }

现在,当您为特定用户分配新角色并单击“保存/更新”按钮时,调用另一个 jQuery/ajax 方法,如下所示,

$('#myUpdateBtn').click(function({
 //Here you can fetch the hidden field value, that is nothing but your      selected UserId
  var UserId = $('#myHiddenField').val();
  $.ajax(function(){
     url:"pass your url here",
     Type:"Put", //Pass your method type. Ex: Post, Put, etc
     Data:{Id:UserId, RoleName:yourNewRoleId},
     success:function(d){}
  })
}))

【讨论】:

  • 不知道我是否明白你在说什么,每次用户在网站上注册时,都会使用他们的用户名和角色创建一个新的表格行。我现在确实获取了用户 ID,但我无法获取它来获取我正在选择的特定用户?
猜你喜欢
  • 1970-01-01
  • 2019-03-17
  • 1970-01-01
  • 1970-01-01
  • 2010-10-09
  • 2011-05-22
  • 1970-01-01
  • 1970-01-01
  • 2012-03-22
相关资源
最近更新 更多