получить значение выбора в контроллере - PullRequest
0 голосов
/ 03 мая 2019

Мне нужно получить значение 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>

1 Ответ

1 голос
/ 03 мая 2019

Проверьте, правильно ли вы заполняете хелпер тега select в обратном вызове 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"];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...