Пост Jquery получает данные от контроллера, но не отображает - PullRequest
1 голос
/ 06 августа 2010

В моем приложении MVC есть метод контроллера, который я вызываю с помощью jQuery $.post....Вызов выполняется правильно, обрабатывает и отправляет действительный результат обратно в представление для рендеринга.Если я сообщу результат, все будет получено на клиенте, как и ожидалось, но данные не будут отображены для представления.

Метод контроллера такой, как показано ниже

public ActionResult SearchWithCriteria(string search)
{
    var companyList = new Companies().SearchCompanies(search);
    return  PartialView ("Partials\\SearchResults", new SearchViewModel() { SearchResults = companyList });
}

, а jQuery такой, как показано ниже

$("#submit").bind("click", function () {
                var searchCriteria = $("#SearchCriteria").val();
                if (searchCriteria.length > 0) {
                    $.post('/Search/SearchWithCriteria', { search: searchCriteria }, function (data) {
                        alert(data);
                        $("companyDetailsSearch").html(data);
                    });
                }
            });

Частичное строго типизировано, и, если я ставлю точки останова в коде, я могу пройти по нему, но, как я уже сказал, представление не визуализируется.

1 Ответ

3 голосов
/ 06 августа 2010

Должен ...

$("companyDetailsSearch").html(data);

... действительно быть ...

$("#companyDetailsSearch").html(data); // use '#' for id's, '.' for classes

редактировать: каким-то образом мне удалось написать это самым запутанным способом когда-либо.По сути, 'companyDetailsSearch' не является допустимым селектором.Если это идентификатор элемента, сначала используйте символ '#' ...

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