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

Мне нужно получить значение Select в контроллере

strDDLValue в переменной " "

Я пытался это сделать, но это не работает

[HttpPost]
    public async Task<IActionResult> Create(AddItemViewModel model, IFormCollection form)
    {
        if (ModelState.IsValid)
        {
            string strDDLValue = Request.Form["selectCategory"].ToString();

HTML

<select class = "browser-default custom-select" id = "selectCategory">

</select>

Автозаполнение

<script type = "text/javascript">
        $.ajax({
            type: 'GET',
            url: '/Item/GetItemCategories',
            dataType: 'json',
            success: function (category) {
                $.each(category, function (key, value) {
                    $('#selectCategory')
                        .append($("<option></option>")
                        .attr("value",key)
                        .text(value)); 
                });
            }
        });
    </script>

Можете ли вы уточнить, что вы подразумеваете под «не работает»?

Diado 03.05.2019 09:54

strDDLValue в переменной ""

pitten 03.05.2019 09:57

Итак, как отправить форму? Метод действия, который вы нам показали, не украшен [HttpPost]

Marco 03.05.2019 10:07

повесил трубку [HttpPost]

pitten 03.05.2019 10:10
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
4
241
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Проверьте, правильно ли вы заполняете вспомогательную функцию выбора тега в обратном вызове ajax. Вот рабочий пример:

контроллер GetCountry и функция успеха в ajax

public JsonResult GetCountry()
    {
        var country =  _context.Country.ToList();
        return Json(new SelectList(country,"Id","CountryName"));

    }

success: function (result) {
                $("#selectCountry").empty();
                $.each(result, function (i, item) {
                    $("#selectCountry").append('<option value = "' + item.value + '"> ' + item.text + ' </option>');
                });

Укажите атрибут name помощника тега выбора, который необходимо заполнить.

<select class = "browser-default custom-select" name = "selectCountry"  id = "selectCountry">  </select>

Данные формы сохраняются как пара ключ-значение в запросе, вы можете получить значение selectCountry, как показано ниже.

var dict = Request.Form.ToDictionary(x => x.Key, x => x.Value.ToString());

//In that case, you could iterate over your dictionary or you can access values directly:
var ddl = dict["selectCountry"];

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