2012-03-15 84 views
0

我有一個controller操作可以生成pdf,而不是由用戶下載。MVC3從視圖中觸發控制器操作

它很好用,但需要few seconds。 我想有一個下載着陸視圖顯示如「正在處理您的文檔...請稍候」。我們擺弄了一些腳本,如.blockUI(),但這不是老闆們想要的。

所以我有一個登陸頁面,工作得很好,但如果我嘗試運行

@Html.Action("SlowAction", "Controller", routeVals) 

視圖不顯示,直到"SlowAction"已完成。這幾乎消除了登錄頁面的用途。

實質上,我希望着陸視圖呈現然後調用"SlowAction"控制器操作。也許一些腳本可以算作10密西西比然後稱之爲行動?可悲的是我對java/ajax腳本知之甚少。

+1

我認爲,解決這個問題最好的辦法就是閱讀有關jQuery的AJAX一些博客和教程GET。 您可以輕鬆地調用您的慢動作頁面,GET將被觸發onload,並且當它成功時,您可以觸發消息,下載或任何你想要的。 – QQping 2012-03-15 14:02:30

回答

1
$.ajax({ 
    type:'GET', 
    url: '@Url.Action("ActionName", "ControllerName")', 
    async:true, 
    success:function(response){ 
     //Do Something With response object returned by your action 
    } 
}); 

看看位於這裏阿賈克斯阿賈克斯文檔http://api.jquery.com/jQuery.ajax/

+0

非常棒!謝謝你的提示。現在要更好地學習ajax,並更好地處理響應,並且我將全部設置好。 – Marc 2012-03-15 14:58:47

+0

您實際上想要在ASP.Net MVC 3中使用@ Url.Action語法3 – 2012-03-15 20:31:06

+0

@ Url.Action不能從單獨的js文件中運行。 – 360Airwalk 2013-03-19 18:08:39

相關問題