2013-10-08 42 views
0

創建SharePoint 2010功能時遇到問題。我想要做的是:使用功能更改SharePoint網站名稱

  1. 檢查網站名稱是否與網站標題相同。
  2. 如果不是,請更改名稱(以及URL)以匹配標題。

我的代碼如下:

Private Sub ChangeSiteNameToMatchTitle() 
    _web = SPContext.Current.Web 

    If _web.Name <> _web.Title Then 
     _web.Name = _web.Title 
     _web.Update() 
    End If 

    _web.Dispose() 
End Sub 

這成功地改變了名稱,以便它等同於網站的標題,但它會導致該功能在它的最終崩潰的激活週期因事實上,網站名稱(因此URL)已更改。

此功能似乎嘗試重新加載激活它的網站上的ManageFeature.aspx頁面,但由於URL已更改,因此無法再找到該頁面。

有沒有人知道這個解決方法,或者即使這是可能的?

非常感謝!

回答

1

我會隱藏功能並使用PowerShell在UI之外激活它。

而且,每最佳實踐規則SPDisposeCheckID_220,你不應該處理SPContext.Current.Web:

SPContext對象由在SharePoint架構管理,不應該被明確地設置在你的代碼。對於由SPContext.Site,SPContext.Current.Site,SPContext.Web和SPContext.Current.Web返回的SPSite和SPWeb對象也是如此。

+0

裏奇說什麼。 –

+0

謝謝里奇,我會給你一個去。是的,我注意到,我試圖在運行它之後處理一個spcontext引用,從那以後我更新了代碼!乾杯。 – Mark

相關問題