JQuery AJAX MVC ||Передача списка выбранных значений через запятую из списка с множественным выбором в действие контроллера - PullRequest
1 голос
/ 12 августа 2011

В моей веб-форме есть список (множественный выбор), который заполняется веб-службой через AJAX при загрузке формы. Это прекрасно работает!

<select multiple="multiple" size="8" id="categoryFamily" onchange="GetCCRCode()"></select>
<select multiple="multiple" size="8" id="category" onchange="GetCCRCode()"></select>

При выборе одной или нескольких записей я выполняю приведенный ниже код, чтобы передать (как я думал, были) значения из списка выше в действие контроллера, используя код ниже.

function GetCCRCode() {
    $('#ccrCode').html('');
    var catfam = $('#categoryFamily').val();
    var cat = $('#category').val();

    $.ajax({
        type: "POST",
        url: "/Home/LoadCCRCode/",
        data: { 'catfam': catfam, 'cat': cat },
        success: function (results) {
            alert('success');
        },
        error: function () {
            alert('error');
        }
    });
}

Действие в контроллере вызывается, но (см. Ниже)

    [AcceptVerbs("POST")]
    public string LoadCCRCode(string catfam, string cat)
    {
        return string.Empty;
    }

Но у меня проблема в том, что входные параметры, которые передаются, являются нулевыми. Поэтому я добавил следующую строку кода в метод JavaScript GetCCRCode ().

alert(catFam);

Результатом является окно с предупреждением, которое показывает список, разделенный запятыми, как я и ожидал, но в ноль все еще передается сообщение.

Есть мысли?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 12 августа 2011

есть опечатка catfam и camfam

также измените свой код js на:

function GetCCRCode() {
    $('#ccrCode').html('');
    var catfam = $('#categoryFamily').val();
    var cat = $('#category').val();

    $.ajax({
        type: "POST",
        url: "/Home/LoadCCRCode/",
        data: { catfam: catfam.ToString(), cat: cat.ToString() },
        success: function (results) {
            alert('success');
        },
        error: function () {
            alert('error');
        }
    });
}

Обратите внимание, что я удалил одинарные кавычки в данных json.

1 голос
/ 12 августа 2011

Похоже, у вас есть опечатка!Вы передаете catfam, но на стороне сервера вы проверяете на camfam.

. Я предлагаю вам также проверить запрос POST с помощью Firebug, чтобы убедиться, что значения публикуются.Если это так, это подтвердит, что проблема на стороне сервера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...