Я пытаюсь снизить роль пользователя, щелкнув ссылку в моем представлении.Передача строки в контроллер/действие из вида
Когда я нажимаю ссылку, она не переходит к действию, но она просто дает ошибку 404 и связывает ресурс, который не найден со строкой, которую я пытаюсь передать в действие (называемый «stringparameter» «)
В этом случае ссылка/Admin/Отключить/stringparameter
Я думаю, что я не использую правильную перегрузку, так что кто-то может помочь мне? Благодаря
Это действие в AdminController
[HttpPost]
public ActionResult Disable(string id)
{
Role rol = new UserRepository().GetRole("Disabled");
new UserRepository().UpdateUser(id,rol.RoleId);
return RedirectToAction("Users");
}
это ViewModel
public class UserSuperUserPM
{
public UserClass User { get; set; }
public List<UserClass> Users { get; set; }
public UserClass SuperUser { get; set; }
public List<UserClass> SuperUsers { get; set; }
public UserClass Disabled { get; set; }
public List<UserClass> Disableds { get; set; }
public UserClass Inactive { get; set; }
public List<UserClass> Inactives { get; set; }
}
это Класс_пользователей
public class UserClass
{
public string UserId { get; set; }
public string Username { get; set; }
public string Role { get; set; }
}
и это мнение (1 из 4 аналогичные таблицы на вид)
@foreach (var item in Model.Users)
{
<tr>
<td class="col-md-4">
@Html.DisplayFor(modelItem => item.Username, Model.Users)
</td>
<td class="col-md-4">
@Html.DisplayFor(modelItem => item.Role, Model.Users)
</td>
<td calss="col-md-4">
--------Commented attempted links(none of them work correct)
@*@Html.ActionLink("Disable", "Disable", new { Controller = "Admin", action = "Disable", id = item.UserId })*@
@*<a href="~/Controllers/AdminController/[email protected]">Disable</a>*@
@*@Html.ActionLink("Disable","Admin", new { id = item.UserId },null)*@
@*@Html.ActionLink("Disable", "Disable","Admin", item.UserId)*@
-------original attempted link
@Html.ActionLink("Disable", "Disable", new { id = item.UserId})
</td>
</tr>
}
Вашего контроллер требует действий POST, не GET. –