我对包含脚本管理器的母版页使用ASP.NET。我想仅将一个JavaScript文件添加到一个页面,但所有页面都从主页继承。什么是完成这个的正确方法?在ASP.NET中为单个页面加载JavaScript文件
在此先感谢
我对包含脚本管理器的母版页使用ASP.NET。我想仅将一个JavaScript文件添加到一个页面,但所有页面都从主页继承。什么是完成这个的正确方法?在ASP.NET中为单个页面加载JavaScript文件
在此先感谢
在母版页中HEAD部分添加内容的容器,在你的页面把Javascript代码是容器的实例内。
编辑 - 为d03boy
在母版:
<head runat="server">
<asp:ContentPlaceHolder ID="HeadContent" runat="server" />
</head>
在ContentPage:
<asp:Content ID="LocalHeadContent" ContentPlaceHolderID="HeadContent" runat="server">
<script type="javascript" \>
</asp:Content>
对于不具备的东西在页眉包括任何内容页没有甚至需要创建Content标签。
你可以使用ClientScriptManager吗?
if (!Page.ClientScript.IsClientScriptIncludeRegistered("MyKey"))
{
Page.ClientScript.RegisterClientScriptInclude("MyKey", "~/js/script.js");
}
添加脚本管理代理你想的JavaScript添加,然后使用脚本管理代理添加的javascript参考页面
假设他们正在使用ASP.NET 3.5,这就是我要去的方式。 – 2009-08-19 12:46:06
有一对夫妇的方式来完成你在找什么。
1把内容占位符在母版页
<head runat="server">
<asp:ContentPlaceHolder runat="server" ID="JavascriptPlaceHolder">
</asp:ContentPlaceHolder>
</head>
的部分,并在特定的页面要添加的JavaScript文件中加入:
<asp:Content ID="Content2" ContentPlaceHolderID="JavascriptPlaceHolder" Runat="Server">
<script type="text/javascript" src="myfile.js" ></script>
</asp:Content>
2 - 当你没有使用更新面板,使用客户端脚本:
Page.ClientScript.RegisterClientScriptInclude("MyKey", "/myfile.js");
3-当使用更新面板和partia升页面渲染,使用的ScriptManager对象注册您的javascript:(对于一个脚本,应该可用于onload事件或至少可当更新面板刷新)
string javascript_string = "function myAlert(){ alert('me'); }";
ScriptManager.RegisterStartupScript(this, typeof(string), "MyKey", javascript_string, false);
使用内容占位符,你可以,然后当你不能时使用其他技术。
这真的是最好的解决方案?如果他有500页附加到该母版页,只有1个需要JavaScript。 – 2009-08-19 13:21:00
查看上面的编辑,希望能够说清楚。 – Lazarus 2009-08-19 15:22:15