如何在WebPart中使用Treeview控件

How to using Treeview in a WebPart?

先来一段测试代码
protected   override   void  CreateChildControls()
        
{
            
try
            
{

            Microsoft.Web.UI.WebControls.TreeView myTreeview 
= new Microsoft.Web.UI.WebControls.TreeView();
            Microsoft.Web.UI.WebControls.TreeNode myNode 
= new Microsoft.Web.UI.WebControls.TreeNode();
            myNode.Text 
="try it";
Microsoft.Web.UI.WebControls.TreeNode myNode2 
= new Microsoft.Web.UI.WebControls.TreeNode();
                myNode2.Text 
="OK!";
                myNode.Nodes.Add(myNode2);

                
            

            myTreeview.Nodes.Add(myNode);

                
this.Controls.Add(myTreeview);
            }

            
catch
            
{
                            

                
                
throw;
                
//this.text = ex.Message;
            }




        }

编译,将相关dllcopy到服务器wwwroot/bin下面。
加载webpart,结果出错。
想来还有treeview的客户端支持目录没有拷过去,
在wwwroot下面copy过去
webctrl_client
〔这些都是下载了微软ie webcontrols后安装生成的。〕
对了wss对虚拟目录具有控制权,要排除这个目录
wss管理器中(开始菜单->管理工具-》sharepoint centrl administration)中
config virtual server
   ->选择wss虚拟服务器
    -》define managed paths
     将webctrl_client 排除
注意前提是你已经将webctrl_client 拷贝到wwwroot/目录下面,同时设置成为虚拟目录了。

接着再try
发现一个错误:
FileIOPermission failed...................

晕,又是权限。
打开web.config
找到
  < trust  level ="WSS_Minimal"  originUrl =""   />

改成
< trust level = " Full "  originUrl = ""   />

Let's Go!
运行成功!
如何在WebPart中使用Treeview控件

其实,最好不要设置trust level 为full,
我们可以修改WSS_Minimal的配置, 添加如下代码
< SecurityClass  Name ="FileIOPermission"  Description ="System.Security.Permissions.FileIOPermission, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"   />          

< IPermission  class ="FileIOPermission"  version ="1"  Unrestricted ="true"   />  

收工。

你可能感兴趣的:(treeview)