项目(多国技术) 总结

一开始是做皮肤,怎样建皮肤?
我们可以在web.config文件中的 <system.web/>加入一行:<pages  theme="traditional"/>
这句话意思是所有页面默认主题为:traditional。
然后新建APP_Themes文件夹,并在下面建立各种主题,如simple、traditional、english。
然后我们新添一个master文件,在该文件中,我们使用class即样式表、与skinid来配置显示效果。
而class与skinid都可以分别在主题的皮肤文件与样式文件中统一设置,在后台编码中我们只需改变Page.Theme属性即可。值得注意的一点是Page.Theme属性不可在page_load事件中设置,必须在page_preinit事件中或之前设置。为此,我们新建一个pagebase类,其继承System.Web.UI.Page类,里面实现一些切换主题与culture属性值。然后我们将来新建的页面统一继承pagebase类,达到统一修改主题与文化属性。
还有一点需要注意的是:在设置文化属性值时与设置主题属性一样,必须在preinit事件中执行。
具体代码如下:
     protected   void  Page_PreInit( object  sender, EventArgs e)
    {
        
if  (Session[ " theme " ] != null )
        {
            Page.Theme 
=  Session[ " theme " ].ToString();            
        }
        Thread.CurrentThread.CurrentCulture 
=  PageCulture;
        Thread.CurrentThread.CurrentUICulture 
=  PageCulture;
    }


现在我们已经达到了切换主题与文化的目的,但在运行的过程中,还有一点小问题。 Smile
就是比如:我新建了一个default页面,让他自动产生三个资源文件,文件名为:
default.aspx.zh-CN.resx
default.aspx.zh-TW.resx
default.aspx.en-US.resx
设置好后,运行,发现并不能切换文字效果,比如页面中有个label,其设置meta:resourcekey="Label1Resource1",当我切换文化时,并不能获取相应的资源文件。

而当我把default.aspx.zh-CN.resx改为default.aspx.resx时,运行正常! Surprise Idea
很奇怪。。。

现在还有一个问题没有解决。
就是我这里存储的theme与culture都是在session中,而我想把它放入profile中,达到个性化目的,
我一开始是这样做的,在web.config文件中加入:
None.gif     < anonymousIdentification  enabled ="true"   />
None.gif    
< profile  defaultProvider ="ITsolution" >
None.gif      
< providers  >
None.gif        
< add  name ="ITsolution"  type ="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"  connectionStringName ="itsolutionconnection"  applicationName ="itsludis" />
None.gif      
</ providers >
None.gif      
< properties >
None.gif        
< clear />
None.gif        
< add  name ="theme"  allowAnonymous ="true"  defaultValue ="simple" />
None.gif        
< add  name ="culture"  allowAnonymous ="true"  type ="System.String" />
None.gif      
</ properties >
None.gif

然后在master.cs中设置profile属性值。而下一步是我必须把profile里面设置的theme与culture值取出来,但在pagebase类中并没有profile这个实例对象,那该怎么取呢?高手帮帮忙!

转载于:https://www.cnblogs.com/yaoguobiao/archive/2006/04/05/367805.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值