所以这是我的问题: 我在我的MVC 3项目中包含了我的所有js脚本的布局:
<link runat="server" rel="shortcut icon" href="@Url.Content("~/Content/favicone/favicon.ico")" type="image/x-icon"/>
<link runat="server" rel="icon" href="@Url.Content("~/Content/favicone/favicon.ico")" type="image/ico"/>
<script src="@Url.Content("~/Scripts/jquery-1.7.1.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.jcarousel.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.dimension.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.cookie.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/globalize.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/cultures/globalize.culture." + CurriculumVitae.Helpers.CultureHelper.GetCurrentCulture() + ".js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery-ui-1.8.17.custom.min.js")" type="text/javascript"></script>
<script type="text/javascript">
function mycarousel_initCallback(carousel) {....}</script>
但是只有我的默认View可以使用这些脚本,当我进入另一个视图(在renderbody中)并且我需要使用一些jquery时我需要重新实现脚本以使其工作:
@{ViewBag.Title = "Index";}
@section header{
<script src="@Url.Content("~/Scripts/jquery-1.7.1.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery-ui-1.8.17.custom.min.js")" type="text/javascript"></script>
<script>
$.fx.speeds._default = 1000;
$(function () {
$("#dialog").dialog({
autoOpen: true,
show: "blind",
hide: "explode"
});
$("#opener").click(function () {
$("#dialog").dialog("open");
return false;
});
});
</script>
}
<a id="opener" href="javascript:void();">test </a>
<div id="dialog" title="Basic modal dialog">
<p>terst nmsdfnms dfds fsd f JQUERYYYYYYYYYYYYYY</p>
</div>
这只是一个开始......我的主题/文化还有其他问题..
事情是在我的网页的源代码中,我找到了来自_layout(和“视图”)的所有脚本,但没有@section标题,即使是简单的js调用也不会起作用,如果它必须使用我的标题中的脚本(_layout)
谢谢
答案 0 :(得分:1)
我发现了我的问题:
永远不要在同一个网站中重新实现或覆盖jquery-1.7.1.min.js 因为它会在每个jquery调用之间产生冲突。
我的一个使用(jcarousel.js)的脚本没有正确设置( initCallback param)。
谢谢大家;)
答案 1 :(得分:0)
由于您未在视图中指定布局,因此您可以尝试两种方法。
确保在"~Views/_ViewStart.cshtml"
:
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
您可以在视图中明确设置所需的布局:
@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Layout.cshtml";
}