我有为用户添加角色的方法。当它常量字符串时,它可以正常工作。现在,我想从输入中输入角色名称,在这里我无法将文本传递给actionlink。怎么做 ?这是我使用常量字符串的代码:
查看:
@model AdminMVC.Models.Admin.UserViewModel
<input class="form-control" type="text" name="role" placeholder="Role name">
@Html.ActionLink("Add role", "AddRoleToUser", new { id = Model.ApplicationUser.Id }, new { @class = "fas fa-user-edit" })
控制器:
public async Task<IActionResult> AddRoleToUser(string id, string role)
{
var user = await _userManager.FindByIdAsync(id);
if (await _roleManager.RoleExistsAsync("NewRole"))
{
await _userManager.AddToRoleAsync(user, "NewRole");
}
return RedirectToAction("Roles");
}
答案 0 :(得分:2)
使用表格发布值:
@using(Html.BeginForm("AddRoleToUser", new { id = Model.ApplicationUser.Id }))
{
<input class="form-control" type="text" name="role" placeholder="Role name">
<input type="submit" value="Add role" class="fas fa-user-edit" />
}