簡體   English   中英

在嵌入式頁面上未調用Sharepoint自定義列表的后台代碼

[英]Sharepoint Custom List code-behind not invoked on a embedded page

我已經在sharepoint中編寫了一個自定義列表,其中的onPreRender方法是通過Web服務填充該列表的。 列表每次呈現時都需要保持更新。 當通過Lists-> MyList查看列表時,將調用allitems.aspx並調用我后面的代碼(WebpartPage)並更新列表。

但是,如果將列表嵌入首頁或其他任何位置,則不會調用我后面的代碼。 它顯示現有列表數據。 我究竟做錯了什么?

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.
    }
}

假設您將列表放在主頁(首頁)中,則建議編寫一個WebPart而不是WebPartPage。 因為當您在主頁中放置列表時,是間接放置ListViewWebPart而不是頁面。 因此很明顯,沒有調用您的代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM