我對包含腳本管理器的母版頁使用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