【问题标题】:Sharepoint Custom List code-behind not invoked on a embedded pageSharepoint 自定义列表代码隐藏未在嵌入页面上调用
【发布时间】: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.
    }
}

【问题讨论】:

    标签: sharepoint custom-lists webpartpage


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-07
      • 1970-01-01
      相关资源
      最近更新 更多