雖然我認爲這是一個壞主意,把用戶的憑據的URL(任何人都可以通過查看網頁的HTML源看到這一點),這裏是你如何能做到你想做的事:
用繼承自Microsoft.SharePoint.WebPartPages.WebPartPage
的類創建一個新的類庫項目。例如:
namespace MyNameSpace.WebPagePages
{
public class MyWebPartPage : Microsoft.SharePoint.WebPartPages.WebPartPage
{
protected Microsoft.SharePoint.WebPartPages.PageViewerWebPart myPageViewerWebPart;
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
// logic to create your URL
string url = "http://blah/blah";
// set the URL
myPageViewerWebPart.ContentLink = url;
}
}
}
您需要簽署程序集並將其部署到GAC。使用SharePoint解決方案(WSP)是這樣做的推薦方式(但不是此答案的要點)。
現在需要如下修改包含Web部件的ASPX頁面:
- 更改
<%@ Page %>
指令的Inherits
屬性上面的類的完全限定類型名稱。它看起來是這樣的:MyNameSpace.WebPagePages.MyWebPartPage,MyNameSpace.WebPagePages,版本= 1.0.0.0,文化=中性公鑰= b538f318242c0b01
- 給Web部件的屬性
ID
與的名稱相匹配的值Web部分在代碼隱藏類中。在這個例子中:<WebPartPages:PageViewerWebPart runat="server" ID="myPageViewerWebPart">
這應該這樣做。如果您之前沒有做過,創建類並將其部署到GAC將是棘手的問題,但如果您知道如何,它們很容易。諸如VSeWSS,STSDEV和WSPBuilder之類的工具(先學習,然後再嘗試其他的工具)將幫助您通過創建WSP文件(SharePoint解決方案)來實現這一目標 - 我強烈建議您利用此功能。
是拋出錯誤的sharepoint,還是AsP? – 2009-07-17 12:17:05
Sharepoint捕獲此錯誤並使用常見SharePoint風格顯示它... – 2009-07-17 12:48:56
您是否正在動態創建URL?如果你是,你在哪裏放置代碼來創建URL? – dariom 2009-07-17 13:06:33