Как вернуть представление в приложении asp.net mvc3 без завершения текущего запроса, если это возможно - PullRequest
1 голос
/ 09 августа 2011

Я пытаюсь сгенерировать pdf на лету из базы данных, приложение работает нормально, но мне интересно, могу ли я показать индикатор выполнения, пока не сгенерирован pdf with out using ajax.

Вот мое действие для создания PDF

public ActionResult GeneratePDF(){
    //This Generates PDF
    return ...
}

Теперь я хочу показывать информацию о прогрессе до тех пор, пока не будет сгенерирован PDF, что-то вроде этого

public ActionResult GeneratePDF(){
        //show progress
        ...............
        //This Generates PDF
        return View();
    }

public ActionResult ShowProgress(){
   //Show progress

    ......
    //return to GeneratePDF to show pdf when it is ready
    return RedirectToAction("GeneratePDF");
}

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

Ответы [ 2 ]

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

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

Протокол HTTP в своей основе основан на концепции запрос-ответ, запрос-ответ - и это водитель, который находится на месте водителя, а не сервер. AJAX - это путь к богатству пользовательского интерфейса на стороне клиента.

0 голосов
/ 09 августа 2011

Вы можете использовать JavaScript или jQuery для отображения анимированного GIF загрузки.

Т.е.:

$ ('. Loading'). Show ();

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