GSpring

生活需要理想,却不能理想化的生活

导航

关于.text中AdvancedPanel中展开按钮在页面执行时有时会出错的问题

这个问题可能与项目存放的位置有关(我这两天分析出来的,呵呵,主要是注册一个脚本(uicontrols.js)时出错)
经过分析,我把 Admin/webUI/controls/AdvancedPanel.cs 文件中的protected override void OnPreRender(EventArgs e)
进行了修改,修改如下:
原理为
protected override void OnPreRender(EventArgs e)
        
{            
                        
if (Collapsible)
            
{Page.RegisterClientScriptBlock(CLIENT_SCRIPT_KEY,
    Utilities.GetClientScriptInclude(CLIENT_SCRIPT_FILE));
}
现在改为:
protected override void OnPreRender(EventArgs e)
        
{            
            
if (Collapsible)
            
{

                
string script = "<script language=\"javascript\">";
                script 
= script 
                        
+"function ToggleVisible(targetID, imageID, linkImage, linkImageCollapsed)"
                        
+"{"
                        
+"    if (document.getElementById){"
                        
+"          target = document.getElementById(targetID);"
                        
+"          if (target.style.display == \"none\") {"
                        
+"              target.style.display = \"\";"
                        
+"          } else {"
                        
+"              target.style.display = \"none\";"
                        
+"          }"
                        
+"          if (linkImageCollapsed != \"\") {"
                        
+"              image = document.getElementById(imageID);"
                        
+"              if (target.style.display == \"none\") {"
                        
+"                  image.src = linkImageCollapsed;"
                        
+"              } else {"
                        
+"                  image.src = linkImage;"
                        
+"              }"
                        
+"          }"
                        
+"      }"
                        
+"}"
                        
+"</script>";

                Page.RegisterClientScriptBlock(CLIENT_SCRIPT_KEY,
                    script);

    
            
base.OnPreRender(e);
        }
然后就正常了,其实就是把脚本uicontrols.js中的内容直接在这里写出来,直接注册一个脚本块,而不是文件,就正常了,百思不得其解,为什么会出现这个问题,有待高手指教,谢谢
然后就正常了,其实就是把脚本uicontrols.js中的内容直接在这里写出来,直接注册一个脚本块,而不是文件,就正常了,百思不得其解,为什么会出现这个问题,有待高手指教,谢谢

posted on 2004-11-11 10:48  Chep  阅读(974)  评论(1)    收藏  举报