2010-03-02 1 views
0

webservice를 통해 목록을 채우는 onPreRender 메서드를 사용하여 SharePoint에 사용자 지정 목록을 작성했습니다. 목록은 렌더링 될 때마다 업데이트 상태를 유지해야합니다. Lists-> MyList를 통해 목록을 볼 때 allitems.aspx가 호출되고 WebpartPage 뒤에있는 내 코드가 호출되고 목록이 업데이트됩니다.Sharepoint 사용자 정의 목록 코드 숨김이 포함 된 페이지에서 호출되지 않았습니다.

그러나 프론트 페이지 또는 다른 곳에 목록을 포함하면 코드 숨김이 발생하지 않습니다. 기존 목록 데이터를 보여줍니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

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

답변

0

당신이 홈 페이지 (앞 페이지)의 목록을 삭제하는 것을 가정하면, 내가는 WebPart 아닌 WebPartPage를 작성하는 것이 좋습니다 것입니다. 홈 페이지에 목록을 드롭하면 간접적으로 ListViewWebPart를 배치하기 때문에 페이지가 아닙니다. 따라서 코드가 호출되지 않는다는 것은 명백합니다.

관련 문제