关于设置WebControls里的treeview控件的图片路径

原创 2007年09月30日 13:42:00
一般我们使用这个treeview控件时都是在虚拟目录下复制webctrl_client目录到默认网站的根目录下,其实这对开发人员只是很简单的一个步骤,但是在打包部署的时候确碰到了问题,假设你的网站是安装在虚拟目录下,你怎么使你的安装程序自动复制这个目录到相应的地方去呢,这是个问题.于是google,下载了http://www.microsoft.com/china/MSDN/library/archives/library/DNAspp/html/aspnet-usingtreeviewieWebcontrol.asp里wencontrols的代码并安装,查看treeview.cs,终于找到主要是AddPathToFilename这个函数来控制目录得,而这个函数在BaseRichControl.cs的抽象类里定义

        // --------------------------------------------------------------------
        
// Common Files
        
// --------------------------------------------------------------------

        
/// <summary>
        
/// Adds the common file path to the filename.
        
/// </summary>
        
/// <param name="filename">The filename to qualify with the common path.</param>
        
/// <returns>The full path of the filename with the common path.</returns>

        protected string AddPathToFilename(string filename)
        
{
            
return AddPathToFilename(Context, filename);
        }


        
/// <summary>
        
/// Static version of AddPathToFilename so that classes not deriving from
        
/// BaseRichControl can still find the common files path.
        
/// </summary>
        
/// <param name="context">The context from which to get the configuration.</param>
        
/// <param name="filename">The filename to qualify with the common path.</param>
        
/// <returns>The full path of the filename with the common path.</returns>

        internal static string AddPathToFilename(HttpContext context, string filename)
        
{
            
return FindCommonPath(context) + filename;
        }


        
/// <summary>
        
/// Finds the path for client files used be server controls.
        
/// </summary>
        
/// <param name="context">The context from which to get the configuration.</param>
        
/// <returns>The path name.</returns>

        private static string FindCommonPath(HttpContext context)
        
{
            
// Look at the current configuration for the path
            if (context != null)
            
{
                NameValueCollection table 
= (NameValueCollection)context.GetConfig(ConfigName);
                
if (table != null)
                
{
                    
string path = (string)table[CommonFilesKey];
                    
if (path != null)
                    
{
                        
return CleanupPath(path);
                    }

                }

            }


            
// Return the default path with version number
            Assembly assembly = typeof(BaseRichControl).Assembly;
            Version version 
= assembly.GetName().Version;

            
return DefaultCommonFilesRoot + version.Major.ToString() + "_" + version.Minor.ToString() + "/";
        }


,本来开始的想法是改这个函数,后来发现其实它还有个可配置的路径接口,还是先配置吧!

于是在web.config加入以下节

    <configSections>
        
<section name="MicrosoftWebControls" type="System.Configuration.NameValueSectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />    
    
</configSections>
 
    
<MicrosoftWebControls>
        
<add key="CommonFiles" value="/web/treepath/"></add>        
    
</MicrosoftWebControls>

注意:configSections一定要放在第一个子节最前面.

剪切默认网站的webctrl_client目录到虚拟目录web/treepath/下,运行程序,树型界面出现了,只是前面的加减号出现问题,再右键查看WEB代码,发现SystemImagesPath属性还是指到webctrl_client目录下,看了SystemImagesPath的代码,把treeview控件的SystemImagesPath设置为空,再次运行程序,OK!全部通过,treeview的图片目录再也不需要依赖默认网站的图片目录了,打包也变的方便了,如果是几个网站在一个机器上,你也可以设置自己独立的treeview图片风格了,嘿嘿,再此写下这些供大家参考
 

相关文章推荐

PB treeview 控件设置背景图片

  • 2012年12月25日 10:17
  • 374KB
  • 下载

要理解__doPostback函数的用法,首先我们要理解Asp.net 中服务端控件事件是如何触发的。 Asp.net 中在客户端触发服务端事件分为三种情况: 一. WebControls中

要理解__doPostback函数的用法,首先我们要理解Asp.net 中服务端控件事件是如何触发的。 Asp.net 中在客户端触发服务端事件分为三种情况:   一. WebControl...

asp.net C#如何上传指定路径的图片,不用FileUpload控件[转]

using System;  using System.Data;  using System.Configuration;  using System.Web;  using System....

自定义treeview控件,实现右键菜单编辑功能

试过用复合控件包含treeview控件,但是失败,这次在右键菜单调用tree的回发js成功可以在页面后台绑定被编辑的节点,后台3个函数都可以编辑用c#传的参数e.mynode就是右键菜单的选中的节点 ...

WebControls日历控件

  • 2011年07月01日 13:16
  • 11KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于设置WebControls里的treeview控件的图片路径
举报原因:
原因补充:

(最多只允许输入30个字)