2017-03-10 72 views
0

我已經列出了用戶及其角色列表,並列出了我的SQL數據庫中的所有用戶。我想要能夠選擇其中一個用戶並改變他們的角色,就像下面的圖片一樣。但我需要幫助來獲取選定用戶的「數據」。 如果有問題,我正在使用MVC身份。mvc - 在用戶列表中選擇一個用戶

控制器代碼誰顯示列表

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> 

然後我想從他們的角色中刪除了 「選擇」 的用戶,並添加到另一個。



+0

http://stackoverflow.com/questions/2068445/get-current-users-role –

+0

我的意思是你怎麼知道你在列表中選擇的用戶? – CAMELYON

+0

https://www.codeproject.com/Articles/1078491/Creating-Forms-in-ASP-NET-MVC –

回答

0

這個問題的解釋是錯誤的。你提到過「但我需要幫助才能獲得所選用戶的」數據「。後來你再次提到「然後我想從他們的角色中刪除」選定「用戶並添加到另一個」。問題是你需要綁定一個onClick方法並傳遞給用戶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){} 
    }) 
})) 

如果它解決您的問題,請不要忘記標記爲答案:)

+0

不知道我是否明白你在說什麼,每次用戶在網站上註冊,一個新的表格行是用他們的用戶名和角色創建的。我現在獲取用戶ID,但是我無法獲取用戶選擇的特定用戶? – CAMELYON

+0

@CAMELYON請參閱上面我更新的答案。 –

相關問題