2014-07-15 28 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两次加载(不同的版本),对重定向。 当我从脚本中删除参考后,它再次完美地工作。感谢那些试图帮助我的人,并且在此之前,我很抱歉没有看到这个错误。