我想写一个基类,里面定义页面的样式表,所有从这个基类继承而来的页面都不需要添加样式表的链接。
请问这个基类该如何写?

解决方案 »

  1.   

    你可以重写Page的Render方法,在这个方法中实现,这是我在项目中用的方法:protected override void Render(HtmlTextWriter writer)
    {
    TextWriter tempWriter = new StringWriter();
    base.Render(new HtmlTextWriter(tempWriter));

    string href =  AppName + "/CSS/styles.css";
    string newStr = "<link type=\"text/css\" rel=\"stylesheet\" href=\"" + href + "\" /></HEAD>"; writer.Write(Regex.Replace(tempWriter.ToString(),"</HEAD>",newStr,RegexOptions.IgnoreCase));

    }
    public string AppName
    {
    get
    {
    string appPath=Request.ApplicationPath;
    if(appPath.Trim()=="/")
    return "";
    return appPath;
    }
    }原理就是把</head>标签替换为样式表链接最后再加上</head>标签,相当于在</head>标签前插入样式表链接。
    ================================
    http://www.webdiyer.com
      

  2.   

    在 webdiyer(陕北吴旗娃) 的启发下又做了些修改http://singlepine.cnblogs.com/articles/285648.html