自打学会了使用页面基类的那年开始,我的BasePage类中的这个函数都是这么写得
protected override void OnInit(EventArgs e)
{
this.Error +=new System.EventHandler(this.BasePage_Error);
}
程序工作的也很正常,自然不会怀疑它的正确性.直到有一天我想使用2005的Theme功能,问题出现了: 我按照MSDN所写的文档,在BasePage中添加了OnPreInit函数并在其中设置了Theme.运行后发现问题,在别的示例程序程序中工作正常的换肤功能,在我的程序中有问题,只有服务器端控件能够正确应用Skin中的设置,Html控件却没有应用我写的StyleSheet设置.{
this.Error +=new System.EventHandler(this.BasePage_Error);
}
打开页面输出结果查看,发现页面的<head></head>段中没有正确的添加Theme中包含的Css文件的链接!所以客户端的CSS属性都没有应用上.这个问题困扰了我好几天,始终没有找到问题所在,万般无奈只好自己写代码把Theme中CSS文件URL添加到Header中去:











protected override void OnInit(EventArgs e)
{
base.OnInit(e);
this.Error +=new System.EventHandler(this.BasePage_Error);
}
然后运行...好了!!!{
base.OnInit(e);
this.Error +=new System.EventHandler(this.BasePage_Error);
}