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