Получение выбранного значения выпадающего списка из метода 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)

При отправке на ваш контроллер модель будет иметь выбранное значение

Другие вопросы по тегам