Sharepoint 自定义列表代码隐藏未在嵌入页面上调用

Posted

技术标签:

【中文标题】Sharepoint 自定义列表代码隐藏未在嵌入页面上调用【英文标题】:Sharepoint Custom List code-behind not invoked on a embedded page 【发布时间】:2011-01-22 15:15:18 【问题描述】:

我在 sharepoint 中编写了一个自定义列表,onPreRender 方法通过网络服务填充列表。该列表需要在每次呈现时保持更新。当通过 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.
    

【问题讨论】:

【参考方案1】:

假设您要在主页(首页)中删除列表,我建议您编写 WebPart 而不是 WebPartPage。因为当您在主页中放置一个列表时,您是在间接放置 ListViewWebPart,而不是页面。所以很明显你的代码没有被调用。

【讨论】:

以上是关于Sharepoint 自定义列表代码隐藏未在嵌入页面上调用的主要内容,如果未能解决你的问题,请参考以下文章

如何在 SharePoint 2010 的 XSLT 列表 Web 部件中隐藏列表功能区?

在 Javascript 中嵌入 Sharepoint Web 部件

SharePoint:如何以编程方式将项目添加到自定义列表实例

我需要列出 SharePoint 网站中的自定义列表和库吗?

隐藏 SharePoint 警报电子邮件中的字段

动画未在自定义布局中显示