我已经写在SharePoint自定义列表,与所述的OnPreRender方法填充经由web服务的列表。该列表需要保持它呈现更新每次。当列表通过Lists-> MYLIST看,allitems.aspx叫我后面的代码(A 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归因
不隶属于 StackOverflow
scroll top