簡體   English   中英

將智能零件用於FBA站點

[英]Using Smart part for FBA site

我有一個使用控件,其中包含一些ajax功能。 我進行了所有必要的更改,以使我的網站與ajax兼容(即,在web.config中添加了相應的標簽),效果很好。 我正在使用智能部件來加載此用戶控件。 但是,當我單擊打開智能部件的工具窗格時,它會帶給我以下內容。

無法打開用戶控件路徑:System.UnauthorizedAccessException:拒絕訪問路徑“ C:\\ Inetpub \\ wwwroot \\ wss \\ VirtualDirectories \\ 5252 \\ UserControls”。 在System.IO.Directory.InternalGetFileDirectoryNames(字符串路徑,字符串userPathOriginal,字符串searchPattern,布爾值includeFiles,布爾值includeDirs,SearchOption searchOption)處System.IO.Directory.InternalGetFileDirectoryNames(Int32 errorCode,String mayFullPath) (字符串路徑,字符串searchPattern,SearchOption searchOption)位於SmartPart.UserControlToolpart.RenderToolPart(HtmlTextWriter輸出)的System.IO.Directory.GetFiles(字符串路徑)

請幫助我解決此錯誤。

之所以發生這種情況,是因為您已將用戶控件放在SharePoint無法訪問的網站根目錄下的文件夾中。

通常,在SharePoint中部署用戶控件時,請將控件放在CONTROLTEMPLATES文件夾中,該文件夾已映射到IIS中的〜/ _controltemplates虛擬目錄,默認情況下,SP可以訪問此文件夾。

然后,您可以將該文件夾的SafeControl條目放入web.config中

  <SafeControl Src="~/_controltemplates/*" IncludeSubFolders="True" Safe="True"    AllowRemoteDesigner="True" />

該文件夾位於文件系統上的<12HIVE> / TEMPLATE / CONTROLTEMPLATES中。

有時我遇到了同樣的問題。 有關SmartPart如何工作的更多問題。 它具有始終指向用戶控件路徑的UserControlPath。

根據Jan(SmartPart的創建者)的注釋,您可以在DWP文件中進行更改。 您可以做的是部署weppart並導出WebPart,在記事本中打開dwp / webpart文件,搜索文本UserControlPath替換為您的路徑。 使用不同的名稱將Webpart上傳回共享點並使用新的WebPart

一個問題是,它在我嘗試編輯或更改用戶控件時一次又一次起作用,它又變回了/ UserControl。

我要解決的是從Codeplex中獲取代碼的副本,並使UserControlPath屬性可瀏覽為true,以便該路徑在Web部件的工具部分中可見。以下代碼段在SmartPart.cs中存在

    [Browsable(true),

    WebPartStorage(Storage.Personal)]
    public string UserControlPath {....}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM