问题是:之前做的显示菜单功能切换好用,可最近又不能切换了。
处理描述:
1.我在Page_Load事件进行给变量、缓存与session设置值。
2.在其它事件中改变了变量、缓存与session的值,可调用了TreeStore1.LoadProxy();后再取变量时值没有变。调试了好久。。。。
3.下面代码是运行总是有问题的,错误代码,请看一下正常是不是没什么问题啊,可就运行结果不对。
static string strNewRoot = string.Empty; //在LoadParentModule()方法和其它事件中有获取与设置此值
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
LoadParentModule();
if (!X.IsAjaxRequest)
{
this.ResourceManager1.DirectEventUrl = this.Request.Url.AbsoluteUri;
}
}
}
4.后来经过测试跟踪终于发现了问题所在。改正的代码如下:
在调用TreeStore1.LoadProxy();后就会触动Page_Load事件所以在LoadParentModule()方法中改回了原值,要想不被调用必须放在 if (!X.IsAjaxRequest)里。
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
if (!X.IsAjaxRequest)
{
this.ResourceManager1.DirectEventUrl = this.Request.Url.AbsoluteUri;
LoadParentModule();
}
}
}