ASP.NET使用母版页后动态加载JS/CSS
但另一个突出的问题是使用母版页后,每个内容页中没有了<head></head>标记,因为这都在母版页中有了,而这对修改标题、加载JS/CSS等文件都有影响,前面我已经说过在ASP.NET中使用母版页后统一网页标题,那这篇就来说说如何加载JS/CSS等文件。
与ASP.NET中使用母版页后统一网页标题中修改标题的原理一样,加载JS/CSS等文件可以在内容页中加,也可以在母版页中统一加载。
1、在单个内容页中加载
将下面两段段代码放入内容页的Page_Load中即可,很简单了,也不再多解释。
- 加载JS文件
#region 加载JS文件 www.yzsws.com
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、在母版页中统一加载
string requestContentType = this.ContentPlaceHolder1.Page.GetType().ToString();
if (requestContentType == "ASP.admin_c2c_user_management_aspx")//获取请求的内容页类型,格式如ASP.目录名_文件名_aspx(好像文件名中的“-”都会被转换成了“_”)
{
//加载JS文件 www.yzyedu.com
HtmlGenericControl JSControl = new HtmlGenericControl("script");
JSControl.Attributes.Add("type","text/javascript");
JSControl.Attributes.Add("src", "JS/js.js");
Page.Header.Controls.Add(JSControl);
// 加载CSS文件 www.yzjjx.com
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);}