我有一个包含一些ajax功能的use控件。我做了所有必要的更改,使我的站点ajax兼容(即在web.config中添加了相应的标签),这很好用。我正在使用smart部件加载此用户控件。但是当我点击打开智能部件的工具窗格时,它会给我如下提示。
无法打开用户控制路径:'C:\Inetpub\wwwroot\wss\VirtualDirectories\5252\UserControls‘:对路径System.UnauthorizedAccessException的访问被拒绝。在SmartPart.UserControlToolpart.RenderToolPart(HtmlTextWriter输出的System.IO.Directory.InternalGetFileDirectoryNames(String路径、字符串路径、字符串includeFiles、布尔includeDirs、SearchOption searchOption)的System.IO.Directory.GetFiles(字符串路径,字符串searchPattern,SearchOption searchOption)的System.IO.Directory.GetFiles(字符串路径)
请帮我解决这个错误..
发布于 2009-07-29 06:22:28
我以前也遇到过同样的问题。这更多的是关于SmartPart如何工作的问题。它使UserControlPath始终指向用户控制路径。
根据Jan (SmartPart的创建者) comment,您可以在DWP文件中对其进行更改。您可以做的是部署weppart并导出WebPart,在记事本中打开dwp/webpart文件,搜索文本UserControlPath webpart。使用不同的名称将new部件上载回sharepoint并使用新的new部件
一个问题是,当我尝试编辑或更改用户控件时,它会一次又一次地工作,它会更改回/UserControl。
我要解决的问题是从Codeplex中获取代码的副本,并使UserControlPath属性browsable为true,以便路径在web的工具部分中可见,Part.Below代码片段显示在SmartPart.cs中
[Browsable(true),
WebPartStorage(Storage.Personal)]
public string UserControlPath {....}发布于 2009-07-23 07:45:55
这是因为您将用户控件放在SharePoint无权访问的站点根目录下的文件夹中。
通常,当您在SharePoint中部署用户控件时,您将控件放在CONTROLTEMPLATES文件夹中,该文件夹映射到IIS中的~/_controltemplates虚拟目录,默认情况下,SP可以访问此文件夹。
然后,您可以在web.config中为此文件夹输入一个SafeControl条目
<SafeControl Src="~/_controltemplates/*" IncludeSubFolders="True" Safe="True" AllowRemoteDesigner="True" />该文件夹位于文件系统上的<12HIVE>/TEMPLATE/CONTROLTEMPLATES。
https://stackoverflow.com/questions/1170020
复制相似问题