2014-07-15 29 views
0

我會切入正題。在RedirectToAction之後沒有加載JQuery

我調用RedirectToAction之後,我的任何一個Action方法,我的JQuery庫不加載,直到頁面呈現後。 (注意:到Action Method的直接路徑正確加載庫)。我沒有使用renderSection我此刻的腳本,但加載在頭束,在_Layout.cshtml文檔中:

<head> 
@Scripts.Render("~/bundles/jquery") 
</head> 

這同樣適用於所有我嘗試在頭加載庫,由方式。 我確實看到任何原因,當我重定向時它不起作用。也許我沒有正確理解RedirectToAction方法,在這種情況下,我會對解釋很滿意。

我使用重定向的一個例子,從我的控制器:

return RedirectToAction("Confirmation", new{orderId = order.Id}); 

(請記住,這個問題仍然存在低谷我所有的控制器和所有動作)

非常感謝。

+0

當你說你的jQuery庫沒有加載,你的意思是在你的jQuery的特定功能或..你如何檢查它是否沒有加載?請添加不加載的代碼。 –

+0

Ajax?諧音?你能否提供整個控制器的操作,請問什麼不裝載? –

+0

@Ali - 圖書館被加載,但直到頁面被渲染後。這會導致錯誤,如「$不是函數」。這適用於我包含在我的包(標題)中的所有腳本庫。 – MichaelCleverly

回答

0

我在Firebug中學習了Network標籤之後發現了錯誤。這是問題:

在form-posts之後重定向,我通過TempData加載jquery腳本。我無意中在該部分視圖的腳本中對jQuery進行了外部引用。

控制器:

   TempData["Message"] = new GenericMessage() 
      { 
       Message = "You need to select a date", 
       MessageType = GenericMessages.danger 
      }; 

      return RedirectToAction("Index", "Home"); 

局部視圖腳本:

<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.min.js"></script> 
<script type="text/javascript"> $(function() { $('div.alert-generic').delay(3500).fadeOut(); }); </script> 
<div class="alert alert-block [email protected]() alert-generic"> 
    <a href="#" data-dismiss="alert" class="close">&times;</a> 
    @Html.Raw(genericMessage.Message) 
</div> 

這導致了jQuery兩次加載(不同的版本),對重定向。 當我從腳本中刪除參考後,它再次完美地工作。感謝那些試圖幫助我的人,並且在此之前,我很抱歉沒有看到這個錯誤。