我首先建立了几种风格的Theme文件夹,通过 后台设置,把想要显示的风格设置在数据库或者web.config中,现在的问题是:如何在每个页面引用主题呢?
有种办法是在每个页面的cs文件夹中添加Page_PreInit事件,然后在该事件里面读取目前的主题,并设置;但是这样需要每个页面都写,太麻烦了,有没有更好的办法呢???

解决方案 »

  1.   

    不太熟悉,你的Sitemap也是绑定到一个控件上,是否自动展开,应该是可以设置的。你找找吧。
      

  2.   

    汗,刚才的帖发错地方了,不好意思。。重来:----
    配置:
    <configuration>
      <system.web>
        <pages theme="OrangeTheme" />
      </system.web>
    </configuration>-------
    或者做一个BasePage,让所有的Page继承,在BasePage中去改变主题:
    Page.Theme = “主题名字”;
      

  3.   

    哦,还有一个方法,使用masterpage,在masterpage中指定主题,这样也不用每个页面都去设置。
      

  4.   

    方法一:
    修改webconfig的system.web配置节
    <pages styleSheetTheme="Default">方法二:
    可以写个页面基类,比如叫做:BasePage    public override String StyleSheetTheme
            {
                get 
                { 
                    string _MyStyleSheetTheme  = "Default"; //处理程序
                      return MyStyleSheetTheme  ; 
                }
            }
      

  5.   

    一般我们会考虑使用stylesheetheme属性设置主题
    这个属性的级别是最低的,
    这样我们仍然可以为每个页面指定一些特殊的css
      

  6.   

    我是楼主
    1,首先,母版页使用Page_PreInit事件添加主题不起作用!
    2,修改webconfig的system.web配置节 手工修改倒是可以,但是利用程序修改不了,不知道是不是安全级别原因
    难道只能建立basepage了?
      

  7.   

      可以现在配置文件中设置一个默认的,然后个别的Page_PreInit事件中修改,或者在.aspx中也能修改