我的问题是我的部分视图中有脚本会引发以下错误: -
SCRIPT5009: '$' is undefined
Server, line 336 character 9
我有以下主视图,它将呈现PartialView: -
@model IPagedList<TMS.Models.TMSRack>
<div><span class="b"> There are @Model.TotalItemCount Racks.</span></div>
@Html.Partial("_PagedRackTable2",Model)
<i class=" icon icon-blue icon-star-on "></i> IT360 Data
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
<script type="text/javascript">
$(document).ready(function () {
$("#DCSort").click(function () {
//$("#iconSort1").hide();
$("#progressSort1").show();
$.ajax({
type: "Get",
url: "@Url.Action("Index","Rack")",
data: { searchTerm: "@ViewBag.searchTerm.ToString()", page: "1", sort: "@ViewBag.DCSortPam", pagesize: $("#FilterSize").val() },
success: successFunc,
error: errorFunc
});
function successFunc(data, status) {
$("#RackTable").html(data);
$("#progressSort1").hide();
//$("#iconSort1").Show();
}
function errorFunc() {
alert('error');
}
})
});
</script>
_PagedRackTable2
部分视图如下所示: -
@model IPagedList<TMS.Models.TMSRack>
<div id ="RackTable">
<script type="text/javascript">
$(document).ready(function () {
$("#DCSort").click(function () {
//$("#iconSort1").hide();
$("#progressSort1").show();
$.ajax({
type: "Get",
url: "@Url.Action("Index","Rack")",
data: { searchTerm: "@ViewBag.searchTerm.ToString()", page: "1", sort: "@ViewBag.DCSortPam", pagesize: $("#FilterSize").val() },
//contentType: "application/json; charset=utf-8",
//dataType: "json",
//cache: false,
success: successFunc,
error: errorFunc
});
function successFunc(data, status) {
$("#RackTable").html(data);
$("#progressSort1").hide();
//$("#iconSort1").Show();
}
function errorFunc() {
alert('error');
}
})
});
</script>
<div class="SmallDropDown3 b" >
错误发生在;我首先渲染主视图,它将渲染patrial视图并发生错误。如果我直接返回局部视图(例如在执行一些分页之后),则局部视图上的脚本不会引发任何错误。
我对此问题的指示如下: -
@section Scripts {
内运行脚本,因此在呈现主视图时,部分视图脚本将在从布局视图调用Jquery之前运行,因为在我的布局视图中渲染主体后,脚本将运行如下: - @RenderBody()
@Scripts.Render("~/bundles/jquery") @Scripts.Render("~/bundles/jqueryui") @Scripts.Render("~/bundles/custome") @RenderSection("scripts", required: false)
但是当我进行分页时,Jquery文件已经被加载,并且部分视图Scripts不会引发错误。
为了解决这个问题,我将部分视图脚本复制到我的主视图,如上所示(相同的脚本被添加两次),这将允许我的脚本始终运行,但我仍然会得到关注的错误主视图渲染局部视图时的局部视图脚本。
SCRIPT5009: '$' is undefined
Server, line 336 character 9
有人可以建议我如何克服这个问题吗?
由于