gpt4 book ai didi

javascript - MVC 3 和 PartialViews,脚本不可见?

转载 作者:行者123 更新时间:2023-11-30 08:12:03 25 4
gpt4 key购买 nike

在我的布局文件中(我使用 Razor 语法)我包含了 jQuery 脚本库

在我的 partialView 中,我有 jPaginate 脚本库 和生成这个插件的代码。问题是,在那种情况下插件没有被渲染,但如果我将 jQuery 脚本库 移动到 PartialView,它就可以工作。但是我无法从布局中移动 jQuery 脚本库

So, how to access the scripts included in the Layout page in the PartialView ?

或者也许还有其他解决方案?


代码:

Layout.cshtml

<head>
<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>
</head>

<body>
@RenderBody()

@RenderSection("Scripts", false)
</body>

MyView.cshtml

@{ Html.RenderAction("SomeAction", "MyContoller"); } //it outputs the PartialView.vshtml

@section Scripts {
<script src="@Url.Content("~/Scripts/jquery.paginate.js")" type="text/javascript"></script>

<script type="text/javascript">
$(document).ready(function () {
$("#pages").paginate({
count: 12,
start: 1,
display: 10,
border: false,
text_color: '#888',
background_color: '#EEE',
text_hover_color: 'black',
background_hover_color: '#CFCFCF'
});
});
</script>
}

PartialView.cshtml

<link href="@Url.Content("~/Content/jpaginate.css")" rel="stylesheet" type="text/css" />

<div id="pages"></div>

最佳答案

您的 jQuery 脚本在布局中呈现在哪里?是否接近布局的末尾?如果是这种情况,那么当您在部分中包含插件时,jQuery 尚未定义。我建议您在布局的末尾定义一个包含自定义包含脚本的部分:

<body>
...
...
<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>
@RenderSection("Scripts", false)
</body>
</html>

然后在使用该部分的 View 中(不是在部分中,部分不应该处理任何脚本,它应该只是标记)覆盖此部分以包含此 View 需要的任何插件:

@section Scripts {
<script src="@Url.Content("~/Scripts/foo.js")" type="text/javascript"></script>
<script type="text/javascript">
// some inline script that uses the foo plugin
</script>
}

这样,此页面需要的所有脚本都将在标记的末尾呈现,这是推荐的方法。

关于javascript - MVC 3 和 PartialViews,脚本不可见?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8861694/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com