EmptyResult Ошибка обратного вызова jQuery с $ .get - PullRequest
1 голос
/ 18 января 2010

У меня есть код в контроллере (HomeController.cs), который вызывается из метода $ .get, на мой взгляд.

Посмотреть код

        $(document).ready(function() {
        $.get("/Home/Toolbar", function(result) {
            $("body").prepend(result);
        });
     });

HomeController.cs

    [AcceptVerbs(HttpVerbs.Get)]
    public ActionResult Toolbar()
    {
        if (Request.IsAuthenticated && Roles.IsUserInRole("Agents"))
            return PartialView("toolbar");

        return new EmptyResult();
    }

Моя проблема заключается в том, что после того, как EmptyViewResult возвращается в JS, код больше не «отправляет обратно» в контроллер. Если я удаляю условное «если» и последовательно возвращаю PartialView, все работает правильно.

Я бы хотел включить в DOM только частичное представление «Панель инструментов», когда пользователь играет роль «Агенты».

1 Ответ

2 голосов
/ 18 января 2010

Поскольку не похоже, что вы выполняете особую логику в своем результате действий, почему бы просто не включить условно PartialView в ваш site.master (или, где это уместно)? Поскольку это не очень динамично (по крайней мере, на основе того, что я вижу в контроллере), кажется расточительным открывать другое HTTP-соединение и захватывать его через AJAX.

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