如何在WebPart中使用Treeview控件
How to using Treeview in a WebPart?
先来一段测试代码
protected
override
void
CreateChildControls()
![ExpandedBlockStart.gif](/Images/OutliningIndicators/ExpandedBlockStart.gif)
{
try
![ExpandedSubBlockStart.gif](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
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);
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
myTreeview.Nodes.Add(myNode);
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
this.Controls.Add(myTreeview);
}
catch
![ExpandedSubBlockStart.gif](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
{
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
throw;
//this.text = ex.Message;
}
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
}
编译,将相关dllcopy到服务器wwwroot/bin下面。
加载webpart,结果出错。
想来还有treeview的客户端支持目录没有拷过去,
在wwwroot下面copy过去
webctrl_client
〔这些都是下载了微软ie webcontrols后安装生成的。〕
对了wss对虚拟目录具有控制权,要排除这个目录
接着再try
发现一个错误:
FileIOPermission failed...................
晕,又是权限。
打开web.config
找到
<
trust
level
="WSS_Minimal"
originUrl
=""
/>
改成
<trust level="Full" originUrl="" />
Let's Go!
运行成功!
其实,最好不要设置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"
/>
收工。
先来一段测试代码
![None.gif](/Images/OutliningIndicators/None.gif)
![ExpandedBlockStart.gif](/Images/OutliningIndicators/ExpandedBlockStart.gif)
![ContractedBlock.gif](/Images/OutliningIndicators/ContractedBlock.gif)
![dot.gif](/Images/dot.gif)
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
![ExpandedSubBlockStart.gif](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![ContractedSubBlock.gif](/Images/OutliningIndicators/ContractedSubBlock.gif)
![dot.gif](/Images/dot.gif)
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
![ExpandedSubBlockEnd.gif](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
![ExpandedSubBlockStart.gif](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![ContractedSubBlock.gif](/Images/OutliningIndicators/ContractedSubBlock.gif)
![dot.gif](/Images/dot.gif)
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
![ExpandedSubBlockEnd.gif](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
![InBlock.gif](/Images/OutliningIndicators/InBlock.gif)
![ExpandedBlockEnd.gif](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
编译,将相关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
找到
![None.gif](/Images/OutliningIndicators/None.gif)
![None.gif](/Images/OutliningIndicators/None.gif)
改成
![None.gif](/Images/OutliningIndicators/None.gif)
Let's Go!
运行成功!
![TreeViewDemo.gif](https://i-blog.csdnimg.cn/blog_migrate/57459509d58eaeb2b96376f87c736db5.gif)
其实,最好不要设置trust level 为full,
我们可以修改WSS_Minimal的配置, 添加如下代码
![None.gif](/Images/OutliningIndicators/None.gif)
![None.gif](/Images/OutliningIndicators/None.gif)
收工。