mmkk's Weblog

dotnet and web skills
随笔 - 25, 评论 - 181, 引用 - 79

导航

工具

关于

标签

每月存档

广告



访客

 

IEWebControl相信大多数的Asp.Net开发人员都知道,即便没有用过也听说过,主要包含TreeViewTabStripToolBarMultiPage四个比较常用的控件,其中TreeView最常用,但是默认的IEWebControl却只能将资源文件(包括HTCimages文件)放到WEB站点的根目录下才能运行,这样对于很多无法更改服务器设置的用户来说是相关不便的,不过我们只要稍微手动修改一下MS提供的源代码,就能很快让整个控件都在应用程序目录下运行。

主要修改代码在BaseRichControl.cs文件中,通过跟踪可以发现寻找资源文件是通过FindCommonPath方法来执行的,其实可以发现此方法中已经预留了通过配置节设置资源文件的途径,下面是修改的步骤:

 1.FindCommonPath()中的return CleanupPath(path);修改为return  context.Request.ApplicationPath + CleanupPath(path);

 2.修改常量ConfigName的值为appSettings

 3.Web.Config中新增一个appSettings的配置节,key必须是常量CommonFilesKey定义的值,当然你也可以自己修改,至于value,看需要要放入虚拟目录的哪个路径下面

 4.IEWebControl解压缩出来的.htc.gif文件放入web.config中指定的文件夹下面即可

这样,即便目标服务器没有安装IEWebControl,我们也可以让所有的控件都运行起来了.当然Asp.Net2.0已经将TreeView加为标准控件了,到时候不必这么麻烦了J

P.S:HttpContext.GetConfig(string name);读取的到底是什么地方的配置节呢?理解上应该是读取自定义的配置节,如果是自定义的配置节,应该是ConfigurationSettings.GetConfig()吧?不太明白,谁能具体解释一下呢?

相关文章

打印 | 张贴于 2004-08-02 17:32:00 | Tag:DotNet

留言反馈

#asp.net动态菜单 编辑
asp.net动态菜单
2007-07-21 00:25:00 | [匿名用户:simhare]
#hoodia 编辑
Write a wise saying and your name will live forever.
2007-01-21 09:48:00 | [匿名用户:hoodia]
#re: 修改IEWebControl适应普通虚拟目录 编辑
我測試過,完全不用修改任何內容,若是想使用虛擬目錄的話,之需要把生成的Runtime目錄下的所有內容Copy到wwwroot\webctrl_client\1_0目錄下即可...
2006-11-16 16:15:00 | [匿名用户:Roronoa.Zorro]
#re: 修改IEWebControl适应普通虚拟目录 编辑
在ASP。NET中用没用过TAB menu
2006-10-05 19:53:00 | [匿名用户:菜鸟]
#re: 修改IEWebControl适应普通虚拟目录 编辑
修改了之后怎么办?要它生成dll要编译一下吧,可是src文件夹没有工程文件啊,怎么编译呢?
2006-04-23 20:37:00 | [匿名用户:firewood]
#re: 修改IEWebControl适应普通虚拟目录 编辑
我想不是HTC目录的问题,即使我在Web站点的根目录和站点的虚拟目录中都放了HTC等相关文件TreeView也不能正常运行,我也尝试过从新安装IEWebControl依然有问题,并且似乎只在我的机器上存在这个问题,在我机器上做好安装包后安装到其他机器上运行正常。
2005-11-18 08:43:00 | [匿名用户:kk]
#re: 修改IEWebControl适应普通虚拟目录 编辑
可能没有加载到合适的HTC,原版IEWebControl要求htc的目录是在wwwroot的下级目录,也就说是默认是针对全局的所有WebSite的,你最好是先使用它的安装包安装,然后查看它的readme,有详细的说明.
2005-11-17 09:06:00 | [匿名用户:mmkk]
#re: 修改IEWebControl适应普通虚拟目录 编辑
使用了你提供的IEWebControl后TreeView能正常显示,可是我将程序改为使用原版的IEWebControl后TreeView却不能正常显示(所有节点都排在了同一行,就像IE版本太低的显示效果一样),请问这是什么原因,该如何解决?
2005-11-17 08:26:00 | [匿名用户:kk]
#re: 修改IEWebControl适应普通虚拟目录 编辑
Nice blog.
2005-07-16 13:38:00 | [匿名用户:Jack]
#re: 修改IEWebControl适应普通虚拟目录 编辑
似乎应该是
return context.Request.ApplicationPath +"/"+ CleanupPath(path);

或者把这个 "/" 写在 web.config 加在 CommFilesKey 前也行
2005-06-20 15:09:00 | [匿名用户:Luca2005]
#re:修改IEWebControl适应普通虚拟目录 编辑
修改IEWebControl适应普通虚拟目录ooeess
2005-06-16 14:33:00 | [匿名用户:气味检测仪]
#treeview,js 编辑
TrackBack From:http://www.cnblogs.com/jetz/archive/0001/01/01/163284.html
2005-06-15 09:46:00 | [匿名用户:jetz]
#re:修改IEWebControl适应普通虚拟目录 编辑
^_~,pretty good!csharpsseeoo
2005-05-18 19:40:00 | [匿名用户:英国HAWKER电池]
#re:修改IEWebControl适应普通虚拟目录 编辑
^_^,Pretty Good!
2005-04-16 05:44:00 | [匿名用户:粘度计]
#re:修改IEWebControl适应普通虚拟目录 编辑
^_^,Pretty Good!
2005-04-10 20:13:00 | [匿名用户:NKS压力表]
#re: 修改IEWebControl适应普通虚拟目录 编辑
从ASP.NET的官方网站上可以下载
2005-02-24 14:05:00 | [匿名用户:自助网站建设]
#re: 修改IEWebControl适应普通虚拟目录 编辑
没有问题,你可以再试试看
2004-12-27 09:32:00 | [匿名用户:mmkk]
#在ASP.NET中应用TreeView控件 编辑
Ping Back来自:blog.csdn.net
2004-11-27 19:13:00 | [匿名用户:arui]
#re: 修改IEWebControl适应普通虚拟目录 编辑
BaseRichControl.cs文件在那里啊?能将得具体些嘛?
2004-11-23 09:36:00 | [匿名用户:KOALA]
#re: 修改IEWebControl适应普通虚拟目录 编辑
fsdf
2004-10-28 17:45:00 | [匿名用户:df]
#re: 修改IEWebControl适应普通虚拟目录 编辑
4345
2004-10-14 11:42:00 | [匿名用户:344]
#re: 修改IEWebControl适应普通虚拟目录 编辑
谢谢.
2004-09-10 11:06:00 | [匿名用户:klete]
#re: 修改IEWebControl适应普通虚拟目录 编辑
我那个下载的rar文件包里面的dll文件就已经treeview控件了
2004-09-10 08:11:00 | [匿名用户:mmkk]
#re: 修改IEWebControl适应普通虚拟目录 编辑
请问treeaView控件哪里可以下载?
2004-09-10 02:46:00 | [匿名用户:klete]
#re: 修改IEWebControl适应普通虚拟目录 编辑
谢谢
2004-08-03 17:48:00 | [匿名用户:aa]
#re: 修改IEWebControl适应普通虚拟目录 编辑
能不能给个例子下载?
2004-08-03 11:02:00 | [匿名用户:aa]
#re: 修改IEWebControl适应普通虚拟目录 编辑
HttpContext.GetConfig把machine.config和各个目录下的web.config合并起然后返回指定名称的配置。

例如访问的是 /dir1/dir2/file1.aspx
则把machine.config,/web.config,/dir1/web.config,/dir1/dir2/web.config的配置合并在一起来返回。
2004-08-02 18:21:00 | [匿名用户:Lostinet]
对不起,目前本随笔不允许发表新评论.

Powered by: Joycode MVC Blogger System