我会切入追逐。
在我将RedirectToAction调用到我的任何Action方法之后,直到页面呈现之后才会加载我的JQuery库。 (注意:Action方法的直接路由正确加载库)。我目前没有为我的脚本使用renderSection,而是在_Layout.cshtml文档中的标题中加载了包:
<head>
@Scripts.Render("~/bundles/jquery")
</head>
顺便说一句,这适用于我尝试在标题中加载的所有库。 我确实看到了为什么在重定向时它不起作用的原因。也许我没有正确理解RedirectToAction方法,在这种情况下我会对解释感到非常满意。
我使用的重定向示例,来自我的控制器:
return RedirectToAction("Confirmation", new{orderId = order.Id});
(请记住,这个问题会持续存在于我的所有控制器和所有操作中)
非常感谢。
答案 0 :(得分:0)
在研究了firebug中的“网络”选项卡后,我发现了错误。问题出在这里:
在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 alert-@genericMessage.MessageType.ToString() alert-generic">
<a href="#" data-dismiss="alert" class="close">×</a>
@Html.Raw(genericMessage.Message)
</div>
这导致JQuery在重定向上加载两次(在不同版本中)。 从脚本中删除引用后,它再次完美地工作。感谢那些试图帮助我的人,我为此之前没有看到这个错误而道歉。