Получение выбранного значения выпадающего списка из метода httpGet в httpPost
Я создал раскрывающийся список в httpGet контроллера. Теперь я хочу, чтобы выбранное значение dropdownlsit в методе HttpPost использовалось в качестве строки для выполнения дальнейших операций. В моем случае я создал раскрывающийся список ролей в методе get, я хочу удалить эту выбранную роль. в методе httpPost. Как я могу это сделать? Любая помощь будет оценена. Вот мой код.
[HttpGet]
public ActionResult DeleteRole(RoleManager role)
{
string[] allRoles = ((CustomRoleProvider)Roles.Provider).GetAllRoles(role);
var roleModel = new RoleManager
{
AllRoles = allRoles.Select(x => new SelectListItem() { Text = x, Value = x })
};
return View(roleModel);
}
Посмотреть:
@Html.DropDownListFor( m => m.AllRoles,new SelectList (Model.AllRoles,"Text","Value"))
[HttpPost]
public ActionResult DeleteRole()
{
//get selected value of dropdownlist in a string??
}
1 ответ
Я надеюсь, что ваша точка зрения не содержит код контроллера! у вас будет Модель, которая будет привязана к выбранному значению, поэтому при повторной публикации в действие контроллера требуемое значение уже привязано.
вам нужно создать свойство в модели как SelectedValue и связать его со списком элементов, поступающих из другого свойства (Model.AllRoles)
пример:
Модель:
public IEnumerable<SelectListItem> AllRoles {get; set;}
public string SelectedRole {get; set;}
Посмотреть:
@Html.DropDownListFor(m => m.SelectedRole, Model.AllRoles)
При отправке на ваш контроллер модель будет иметь выбранное значение