2009-10-27 73 views
2

我正在創建需要使用單線程COM組件的SharePoint Web部件。我發現爲了使這項工作順利進行,我需要將AspCompat =「true」指令添加到Web部件所在的頁面。問題是我似乎無法建立這樣一個頁面。在SharePoint Web部件頁中使用AspCompat

我通過常規瀏覽器界面創建了一個新的空白Web部件頁面,然後使用SharePoint Designer爲其添加了AspCompat。但是這會導致它變成未幻影,並且SafeMode解析器說該指令是不允許的。然後,我修改了空白Web部件頁面模板以包含該指令並創建了一個新頁面,但得到了相同的錯誤。

我基本上需要在存儲在文件系統中的SharePoint網站中設置一個頁面,具有該指令並可以包含我的Web部件。我將如何去創建這樣一個頁面?

回答

1

根據Microsoft SharePoint開發人員的支持,在SharePoint網站中使用AspCompat根本無法實現。 SPPageParserFilter類不允許某些頁面指令,它顯然涉及處理所有頁面,即使是在文件系統上的頁面。有關更多詳細信息,請參閱this blog post

1

我最近回答了this question,其中包含一些說明,包括如何提供可用於託管Web部件的新站點內容頁面模板。我認爲它很可能適合你。

在你的情況下,你的aspx頁面模板會有內置的AspCompat指令。

+0

你對這個問題的答案看起來很有希望。我想我可以修改我的Web部件的現有功能清單,以包含一個包含AspCompat的ASPX頁面。當我進入包含我的功能的元素的文件時,我可以添加另一個元素,但在我添加了元素後,Visual Studio突然無法在WSP視圖中解析軟件包解決方案。它給出的錯誤是'值不能爲空。參數名稱:path2'。是否需要在我的Web部件中爲ASPX頁面創建一個新功能? – 2009-10-28 14:55:05

+0

好的,錯誤是由於在元素中沒有包含路徑屬性引起的。 – 2009-10-28 15:19:43

+0

我最終創建了一個新的解決方案包,其中包含一個作爲功能部署的模塊,類似於您在其他答案中提出的建議。該解決方案安裝正確,似乎把事情放在正確的地方。我在頁面庫中看到了AspCompat的ASPX頁面,但是當我瀏覽它時,仍然收到一條消息,說AspCompat指令是不允許的。我將文件的內容類型設置爲GhostableInLibrary。我知道它正在查看磁盤文件,因爲如果我重命名它,我無法再瀏覽它。爲什麼這個指令仍然有問題? – 2009-11-02 21:29:01