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 阅读(741) 评论(1)  编辑 收藏

评论

#1楼  2006-02-20 21:39 shareach_fly [未注册用户]

可能是脚本文件路径的问题,("~/admin/resources/uicontrols.js需要取绝对根路径,我把里面的几个控件分离出来了,其中就包括adpanel
#if !DebugJavaScript
protected const string CLIENT_SCRIPT_FILE = "/aspnet_client/xl8_web_controls/uicontrols.js";
#else
protected string CLIENT_SCRIPT_FILE = Utilities.AbsolutePath("~/admin/resources/uicontrols.js");
#endif   回复  引用    


标题  
姓名  
主页
Email (只有博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
 
另存  打印