簡體   English   中英

在使用主文件的 aspx 頁面中放置 external.js 文件的位置

[英]Where to place external .js file in aspx page that uses master file

我有一個繼承自母版頁模板的 aspx 頁面。 通常,我會將指向外部 javascript 文件的鏈接放在 html 頁面的 <head <head>元素內,但<head>元素位於母版頁中。

我應該在哪里放置對我的 external.js 頁面的引用?

如果我嘗試在<%@ Page %>元素下方放置一個<script>標簽,我會收到一些錯誤消息,提示我必須將標簽放在<asp:content>部分內。

謝謝

在母版頁的<body> .. <form> ..asp:ScriptReference標記添加到asp:ScriptManager而不是在內容中

<form id="form1" runat="server">
    <asp:ScriptManager ID="scripty" runat="server">
        <Scripts>
            <asp:ScriptReference Path="~/Scripts/Timer/myJsFile.js"></asp:ScriptReference>
        </Scripts>
    </asp:ScriptManager>

如果要從客戶端引導它,則需要在頁面的<body>content

<script>
    window.onload: start;
</script>

或者,對於需要它的每個頁面aspx.cs ,我在服務器端使用它:

Page.ClientScript.RegisterStartupScript(GetType(), "Start", "window.onload=Start;", true);

我的javascript文件中有:

function Start() {
...
}

提示: ScriptManager被諸如jQuery之類的大型Js庫廣泛使用。

在您的JavaScript中,如果安裝了jQuery,則可以在母版頁中使用$("#nameOfObject")調用任何具有ClientIDMode="Static" ASP對象。

不確定上述過程是否適用於內容頁面,因此該對象可能必須位於母版頁上。

首先,您必須在母版頁的 header 中創建一個占位符,並將腳本添加到頁面上的該占位符。

在母版頁中:-

<head runat="server">
     <asp:ContentPlaceHolder ID="head" runat="server">
    </asp:ContentPlaceHolder>
</head>

在內容頁面(aspx 頁面)中:- 給出 JavaScript 路徑的腳本和來源,如下所示。

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
    <%-- <b> Trailing Target/Sl</b>--%>
     <!-- jQuery library -->
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
        <!-- Popper JS -->
        <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
        <!-- Latest compiled JavaScript -->
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
    <script src="atjavascript/custom.js"></script>
</asp:Content>

將其放在內容頁面的內容面板之一中

 <asp:content runat="server" id="content1" contentplaceholderid="cp1">
     <script type="text/javascript" src="somepath"></script>
    </asp:content>

在母版頁頁眉中創建一個占位符,並將腳本添加到頁面上的該占位符。

主:

<head runat="server">
    <title>My Appplication</title>
    <asp:ContentPlaceHolder ID="HeaderContent" runat="server" />
</head>

頁:

<asp:Content ID="PageHeaderContent" ContentPlaceHolderID="HeaderContent" runat="server">
    <script type="text/javascript" src="somejsfile.js"></script> 
</asp:Content>

我假設您希望腳本在子頁面上,而不在母版頁模板中。 在這種情況下,您需要在母版頁的<head>元素中使用內容占位符。 然后,在子頁面上使用<asp:content>標記,並在其中放置對外部javascript的引用。 如果您的母版頁的<head>標簽中已經包含內容占位符,我不會感到驚訝。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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