从文本框向Html.ActionLink添加文本

时间:2019-02-21 17:57:17

标签: c# asp.net-mvc

我有为用户添加角色的方法。当它常量字符串时,它可以正常工作。现在,我想从输入中输入角色名称,在这里我无法将文本传递给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");
        }

1 个答案:

答案 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" />
}