2010-03-02 44 views
0

我已經在sharepoint中編寫了自定義列表,onPreRender方法通過webservice填充列表。該列表需要在每次渲染時都保持更新。當通過Lists-> MyList查看列表時,將調用allitems.aspx,並調用我的代碼(WebpartPage)並更新列表。Sharepoint在嵌入式頁面上未調用的自定義列表代碼隱藏

但是,如果我在頭版或其他地方嵌入列表,我的代碼不會被調用。它顯示現有的列表數據。我究竟做錯了什麼?

public class GetList: WebPartPage 
{ 

    protected override void OnPreRender(EventArgs e) 
    { 
     InvokeRefreshList(); 
     base.OnPreRender(e); 

    } 
    private void InvokeRefreshList() 
    { 
     SPList myList = null; 
     SPWeb _web; 
     _web = SPControl.GetContextWeb(Context); 
     _webURL = _web.Url; 
     myList = SPContext.Current.List; 
     listTitle = myList .Title; 
     SPSecurity.CodeToRunElevated elevatedRefreshList = 
      new SPSecurity.CodeToRunElevated(RefreshList); 

     SPSecurity.RunWithElevatedPrivileges(elevatedRefreshList); 

    } 
    private RefreshList(){ 
     //webservice code. 
    } 
} 

回答

0

假設您將List放置在主頁(Front Page)中,我會建議編寫WebPart而不是WebPartPage。因爲當您在主頁中放置一個列表時,您將間接放置ListViewWebPart,而不是該頁面。所以很明顯你的代碼沒有被調用。

相關問題