[英]Asp.net MVC - load JavaScript files
在我的asp.net MVC網站上,我有一個布局文件,我在其中加載我的JavaScript文件:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>@ViewBag.Title - My title</title>
@Styles.Render("~/Content/css")
</head>
<body>
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jquerymobile")
@RenderSection("scripts", required: false)
<div data-role="page" data-theme="a" id="home">
<div id="divPartialView">
@RenderBody()
</div>
</div>
</body>
然后,我有一個使用布局的主頁面:
@{
Layout = "~/Views/Shared/_LayoutBase.cshtml";
}
在這個頁面中,我通過局部視圖替換我的div的內容:
$.ajax({
url: '@Url.Action("MyPage", "Home")',
data: { myVariable: "variable"},
cache: false,
type: "POST",
dataType: "html",
success: function (data) {
$("#divPartialView").html(data);
},
error: function () {
alert("error");
}
});
我的部分觀點:
<div data-role="header">
</div>
<div data-role="content" id="MainContent">
</div>
<div data-role="footer" data-position="fixed">
</div>
問題是在這個局部視圖中,我必須再次加載Jquery移動腳本,否則它不起作用...(頁眉和頁腳無法正確顯示)
你知道為什么嗎?
您有一個文件名BundleConfig
,此文件顯示您加載的腳本。 該文件應包含:
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include("~/Scripts/jquery.validate*"));
之后檢查您的布局,您的文件必須包含:
@Scripts.Render("~/bundles/jqueryval")
祝你有美好的一天。
你應該使用@section Scripts{}
<body>
...
//should bottom of body tag.
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jquerymobile")
@RenderSection("scripts", required: false)
</body>
在局部視圖中,在“腳本”部分下編寫所有代碼
@section Scripts {
$.ajax({
....
});
}
我會在加載整個頁面之后放入javascript引用,如:
<div data-role="page" data-theme="a" id="home">
<div id="divPartialView">
@RenderBody()
</div>
</div>
...
<!-- finally here -->
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jquerymobile")
@RenderSection("scripts", required: false)
</body>
</html>
在將新的html(這種情況下是部分的)附加到頁面后,您必須附加相關腳本。 我在猜猜如下:
...
success: function (data) {
$("#divPartialView").html(data);
$("#divPartialView").append('<script src="jquery.mobile.js" type="text/javascript"></script>');
},
...
還要確保此腳本獲取所有必備腳本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.