0

onPreRender メソッドを使用して、web サービスを介してリストにデータを入力することで、sharepoint にカスタム リストを作成しました。リストは、レンダリングされるたびに更新されたままにする必要があります。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.
    }
}
4

1 に答える 1

0

ホームページ (フロント ページ) にリストをドロップすると仮定すると、WebPartPage ではなく WebPart を作成することをお勧めします。ホーム ページにリストをドロップすると、ページではなく ListViewWebPart が間接的に配置されるためです。したがって、コードが呼び出されていないことは明らかです。

于 2010-03-02T10:18:02.500 に答える