zoukankan      html  css  js  c++  java
  • asp.net通过基类实现统一脚本和样式的管理

    之前写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
  • 相关阅读:
    【内推】平安产险大数据测试开发工程师,15-30k!
    python中的正则表达式(re模块)
    C#中ArrayList和string,string[]数组的转换
    C# 中的sealed修饰符学习
    面试题目记录
    C#中Internal class与静态类说明
    转载 C#使用Salt + Hash来为密码加密
    转载C# 对象转Json序列化
    使用https时,网站一些内容不能正常显示的问题
    转载 JQuery.data()方法学习
  • 原文地址:https://www.cnblogs.com/lifeil/p/2917018.html
Copyright © 2011-2022 走看看