Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在使用主文件的aspx页面中放置外部.js文件的位置_Javascript_Asp.net Mvc 3 - Fatal编程技术网

Javascript 在使用主文件的aspx页面中放置外部.js文件的位置

Javascript 在使用主文件的aspx页面中放置外部.js文件的位置,javascript,asp.net-mvc-3,Javascript,Asp.net Mvc 3,我有一个从母版页模板继承的aspx页面。通常,我会将指向外部javascript文件的链接放在html页面的元素中,但元素位于母版页中 我应该将对外部.js页面的引用放在哪里 如果我试着在元素下面放置一个标记,我会得到一些错误,说我必须将标记放置在节中 谢谢将其放在内容页的一个内容面板中,例如 <asp:content runat="server" id="content1" contentplaceholderid="cp1"> <script type="tex

我有一个从母版页模板继承的aspx页面。通常,我会将指向外部javascript文件的链接放在html页面的
元素中,但
元素位于母版页中

我应该将对外部.js页面的引用放在哪里

如果我试着在
元素下面放置一个
标记,我会得到一些错误,说我必须将标记放置在
节中


谢谢

将其放在内容页的一个内容面板中,例如

 <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>

我的申请
第页:



我假设您希望脚本位于子页面上,而不是母版页模板中。在这种情况下,母版页的
元素中需要一个内容占位符。然后在子页面上使用
标记,并将对外部javascript的引用放在那里。如果您的母版页的
标记中已经有内容占位符,我不会感到惊讶。

在母版页的
asp:ScriptReference
标记添加到
asp:ScriptManager
中,而不是添加到内容中:

或者,对于需要它的每个页面
aspx.cs
,我在服务器端使用它:

Page.ClientScript.RegisterStartupScript(GetType(), "Start", "window.onload=Start;", true);
在我的javascript文件中,我有:

function Start() {
...
}
提示:
ScriptManager
被jQuery等大型Js库广泛使用

在javascript中,如果安装了jQuery,则可以调用母版页中带有
$(“#nameOfObject”)
的任何ASP对象,该对象具有
clientMode=“Static”


我不确定上述过程是否适用于内容页,因此对象可能必须位于母版页上。

这不会将文件导入从母版继承的每个页面吗?我只需要这个页面上的外部文件不,只需要你添加到的页面。内容面板添加到站点的顺序是什么?如果我没记错的话,人们建议在head元素中添加javascript,以便在页面内容或类似内容之前加载js文件。一个内容面板比另一个有什么优势吗?按顺序排列。母版页的头部应该有一个contentplaceholder。如果没有,在那里创建一个,然后在你的内容页面中创建一个内容面板,引用上面代码中的contentplaceholder
<script>
    window.onload: start;
</script>
Page.ClientScript.RegisterStartupScript(GetType(), "Start", "window.onload=Start;", true);
function Start() {
...
}