asp.net通过基类实现统一脚本和样式的管理
2013-02-19 14:20 埋头前进的码农 阅读(434) 评论(0) 编辑 收藏 举报之前写PHP代码时经常把javascript脚本的引用和css样式的引用放到一个php文件中,然后通过include方式包含进来。现在使用asp.net开发程序。发现asp.net并没有include方法。想到C#是面向对象编程,通过基类使派生类继承应该能够实现统一管理javascript和css。
实现的基类如下:
/// <summary> /// 页面基类 /// </summary> public class BasePage : Page { #region 构造函数 public BasePage() { } #endregion }
输出脚本和样式的类如下:
public void WriteCommonScriptAndStyle() { Literal lit = new Literal(); StringBuilder script = new StringBuilder(); script.Append("<script type=\"text/javascript\" src=\"{0}/js/jquery.min.js\"></script>\r\n"); lit.Text = script.ToString(); Header.Controls.Add(lit); }
这样就可以实现脚本和样式的统一添加了。另外,通过基类继承也可以实现权限认证,这个功能比较适用于网站需要登录的用户。
我的做法是这样的:
#region 页面初始化事件 /// <summary> /// 页面初始化事件。 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected virtual void Page_Init(object sender, EventArgs e) { Response.Buffer = true; Response.ExpiresAbsolute = DateTime.Now.AddDays(-1); Response.Expires = 0; Response.CacheControl = "no-cache"; ////用户未登录。 if (CurrentUser == null) { string backUrl = Request.Url.AbsoluteUri.Replace("&", "$apm;"); Response.Redirect(string.Format("~/userLogin.aspx?BackUrl={0}", backUrl), true); } else { officeModel = CurrentUser ?? new UserModel(); } //这里用来输出公共样式和脚本的包含 WriteCommonScriptAndStyle(); } #endregion