iT邦幫忙

0

如何在 SharePoint WebAPart 或 Asp WebPart 中內崁外部資源

你好,我使用的是 SharePoint 2010,開發工具是 VisualStudio 2010

在 視覺組件專案中的 WebPart 需要包含一些圖片檔,這個Webpart可能會部署在幾個不同網站中使用。
我想減少日後網站管理者部署 網頁組件的困難,所以想把這些圖片直接包含在 視覺組件裡,日後網站管理者
直接在頁面上插入視覺組件就可以了。

我曾經試過在 專案的資源檔裡把圖片放進去,並建置動作設定成 "內含資源"。
但是把專案部署到SharePoint 的時後還是無法使用 Asp的Image 控制項顯示這張圖片。

專案的命名空間是 : Test2010101101

在 專案屬性中加入一個圖片檔 , 檔名是 whatissharepoint.jpg,並出現在專案中的 Resource 資料夾

我的程式碼大致如下:

在 AssemblyInfo.cs 檔案中:
(1) 加入 using System.Web.UI;
(2) 加入 [assembly: WebResource("Test2010101101.whatissharepoint.jpg", "image/jpeg")]

WebPart 版面頁面是 TEST2010101101WPUserControl.ascx 分別加入 TextBox1 和 Image1 這兩個控制項。

Webpart 程式檔是 TEST2010101101WPUserControl.ascx.cs 命名空間是 Test2010101101.TEST2010101101WP
在 Page_Load 事件中 的程式碼如下

TextBox1.Text = Page.ClientScript.GetWebResourceUrl(typeof(TEST2010101101WPUserControl), "Test2010101101.whatissharepoint.jpg");
Image1.ImageUrl = Page.ClientScript.GetWebResourceUrl(typeof(TEST2010101101WPUserControl), "Test2010101101.whatissharepoint.jpg");

也就是載入 WebPart 的時候,Image1 控制項會直接顯示 whatissharepoint.jpg
TextBox1 控制項會顯示這張圖檔的路徑。

專案做編譯的時候沒有錯誤訊息 , 可以成功部署到網站上,插入到頁面上的時候 , TextBox1 會顯示 "/WebResource.axd?d=eBM8Ndn4Nq後面一串無意義的英數及符號"
Image1 控制項只有顯示一個紅色的X

有人知道如何解決這個問題嗎?或是有人在 Asp Web專案中解決過這種問題?

我想 Asp.Net Web專案的解決方法應當和 SharePoint 專案類似。

感謝回覆。

1 個回答

4
丁丁 (Dean)
iT邦大師 6 級 ‧ 2013-10-11 18:15:10
最佳解答

請參考下列 MSDN 教學, 來新增你的 Image Resource
Creating a SharePoint 2010 Project

因為 SharePoint Deploy 的路徑和一般 ASP.Net 的路徑有所不同... 醉醉

我要發表回答

立即登入回答