2010-01-11 17 views
0

如果有人想知道如何定製smartpart中的屬性。我已經創建了用戶控件,我將它包裝在一個smartpart.I想從文檔庫中上傳我的XML。Sharepoint-定製smartpart中的usercontrol屬性

private string feedXML; 
     [Browsable(true), 
     Personalizable(true) ] 


     public string FeedXML 
     { 
      get 
      { return feedXML; } 

      set 
      { feedXML = value; } 
     } 

,我用這個像 //

feedXML="\customxml.xml"; 
    XPathDocument doc = new XPathDocument(Server.MapPath(feedXML)); 

但是這件事情是行不通的。當我點擊修改共享web頁面的sharepoint頁面時,沒有渲染。任何線索我哪裏錯了。

回答

0

您可能想要驗證server.mappath語句的結果。這將是類似於C:\ Inetpub ... 因此,您的代碼試圖從真正存在於SharePoint中的文件系統檢索文件,因爲您已將其上載到文檔庫。

如果您需要該文件,則必須使用SharePoint對象模型檢索該文件,請查看GetFileAsString method

我Denni同意..

好像的SmartPart只是變得更困難?它有什麼優勢?

我爲ascx控件製作自己的webpart容器..很少的工作和所有你需要的控件。信任設置也沒有問題。

0

您確定這是正確的嗎?

feedXML="\customxml.xml"; 

也許,你想要的是:

feedXML="\\customxml.xml"; //escape the back-slash. 

feedXML="/customxml.xml"; // use the forward-slash. 

無論如何,如果你只是想換一個Web部件內用戶控件,你不需要SmartPart。您可以非常輕鬆地編寫自定義Web部件。

+0

感謝丹尼回覆的事情是我們使用Smartcontrol bcoz的易用性與usercontrols我知道我們可以做到這一點,但SmartPart有其他優點....不,我試過你說的方式,但它仍然是同樣...當我點擊修改共享的webpart的smartpart時,頁面不會重新進入....意味着你知道如何做到這一點...我是否需要使用SmartPart.Iusercontrol ...並定義屬性......或者我可以在用戶控件中以同樣的方式執行我在webpart中的操作,它將反映在我的smartpart中 – 2010-01-12 15:40:04