2011-09-05 71 views
1

AJAX鏈接:MVC 3剃鬚刀阿賈克斯錯誤

@Ajax.ActionLink("AjaxLink","GetText","Home", new AjaxOptions{UpdateTargetId = "ajaxDiv", HttpMethod = "Get"}) 

<div id="ajaxDiv"></div> 

控制器:

[HttpGet] 
    public ActionResult GetText() 
    { 
     return View(); 
    } 

查看: GetText.cshtml:

<div>Some text @DateTime.Now.ToLongTimeString()</div> 

好,它工作。但是,如果我反覆強調鏈接,頁面變慢。我點擊的時間越長,頁面上的時間越長。 我用調試:

事實證明,第一次點擊後,函數GetText()被調用一次,第二次點擊後,該函數被調用兩次,第三次之後,等等。可能是什麼問題?

回答

0

您應該返回一個PartialView而不是一個完整的視圖,以便它只返回所需的HTML代碼段,而不包括主視圖。我懷疑處理程序是通過主人重新應用的,但是您的問題中沒有足夠的信息可以確定。

+0

我也用PartialView(),結果還是一樣的。 – SirRoland

+0

@SirRoland - 使用部分內容並檢查使用Firebug(或類似)返回的實際內容。我能想到的唯一事情會導致您描述的行爲是通過結果重新應用處理程序。 – tvanfosson

+0

我不知道我做了什麼,但它已經有效。已經有大約30分鐘的時間尋找它爲什麼如此遲鈍的原因,並且無濟於事。 ( – SirRoland