ASP.NET中使用母版頁最大的好處就是當(dāng)有許多相似的頁面時只用加一個母版頁,每個頁面用這個母版頁生成內(nèi)容頁,然后根據(jù)情況修改每個內(nèi)容頁中的內(nèi)容,保持頁面布局的統(tǒng)一,同時也減少了代碼量。
但另一個突出的問題是使用母版頁后,每個內(nèi)容頁中沒有了<head></head>標(biāo)記,因為這都在母版頁中有了,而這對修改標(biāo)題、加載JS/CSS等文件都有影響,前面我已經(jīng)說過在ASP.NET中使用母版頁后統(tǒng)一網(wǎng)頁標(biāo)題,那這篇就來說說如何加載JS/CSS等文件。
與ASP.NET中使用母版頁后統(tǒng)一網(wǎng)頁標(biāo)題中修改標(biāo)題的原理一樣,加載JS/CSS等文件可以在內(nèi)容頁中加,也可以在母版頁中統(tǒng)一加載。
1、在單個內(nèi)容頁中加載
將下面兩段段代碼放入內(nèi)容頁的Page_Load中即可,很簡單了,也不再多解釋。
加載JS文件
#region 加載JS文件
HtmlGenericControl JSControl = new HtmlGenericControl("script");
JSControl.Attributes.Add("type", "text/javascript");
JSControl.Attributes.Add("src", "JS/js.js");
Page.Header.Controls.Add(JSControl);
#endregion
加載CSS文件
HtmlLink CssControl = new HtmlLink();
CssControl.Href = "/CSS/Style.css";
CssControl.Attributes.Add("rel", "stylesheet");
CssControl.Attributes.Add("type", "text/css");
Page.Header.Controls.Add(CssControl);
2、在母版頁中統(tǒng)一加載
string requestContentType = this.ContentPlaceHolder1.Page.GetType().ToString();
if (requestContentType == "ASP.admin_c2c_user_management_aspx")//獲取請求的內(nèi)容頁類型,格式如ASP.目錄名_文件名_aspx(好像文件名中的“-”都會被轉(zhuǎn)換成了“_” 并且目錄與文件名(含字母)都轉(zhuǎn)換成小寫字母了)
{
//加載JS文件
HtmlGenericControl JSControl = new HtmlGenericControl("script");
JSControl.Attributes.Add("type","text/javascript");
JSControl.Attributes.Add("src", "JS/js.js");
Page.Header.Controls.Add(JSControl);
// 加載CSS文件
HtmlLink CssControl = new HtmlLink();
CssControl.Href = "/CSS/Style.css";
CssControl.Attributes.Add("rel", "stylesheet");
CssControl.Attributes.Add("type", "text/css");
Page.Header.Controls.Add(CssControl);
}