簡體   English   中英

Asp.net MVC - 加載JavaScript文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM