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:如何以编程方式将项目添加到自定义列表实例