[英]Sharepoint Custom List code-behind not invoked on a embedded page
我已經在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.
}
}
假設您將列表放在主頁(首頁)中,則建議編寫一個WebPart而不是WebPartPage。 因為當您在主頁中放置列表時,是間接放置ListViewWebPart而不是頁面。 因此很明顯,沒有調用您的代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.