Show an “Operation in Progress” page from your code

2683 ワード

元のリンク:http://hristopavlov.wordpress.com/2008/06/16/show-an-operation-in-progress-page-from-your-code/
説明:コードでSharepointの中のロード効果を実現して、いくつかの操作はsiteを作成する時、比較的に長い時間待つ必要がある時、sharepointは“Operation in Progress”の効果が現れます
コードでこの効果を実現し、あなたのページもsharepointのように効果を上げます!
 
SPLongOperation
 
SPLongOperationクラスを使用するだけです.カスタムメッセージを表示し、begin()メソッドを呼び出して「操作in Progress」ページを表示し、長期的な操作を開始するものを指定します.End()メソッドを呼び出してリダイレクトされたURLを渡す準備ができたら、次のコードで標準エラーページにリダイレクトすることもできます.
 
HTTPのリダイレクトがASPからNETはThreadAbortExceptionが投げ出され、私たちは自分のブロックでこの異常をキャプチャし、無視しなければなりません.
try



{



    using (SPLongOperation ctx = new SPLongOperation(this.Page))



    {



        ctx.LeadingHTML = “Please wait while your operation is being executed.”;



        ctx.TrailingHTML = “Your current operation is currently being executed. Please be patient. Blah blah blah.”;

		//  

        ctx.Begin();

		//      

         MyLongRunningOperation();

		//             

        ctx.End(SPContext.Current.Web.Url);



    }



}



catch (ThreadAbortException) { /* Thrown when redirected */}



catch (Exception ex)



{

	//   sharepoint     

    SPUtility.TransferToErrorPage(ex.ToString());



}


詳細についてはMSDNドキュメントを確認してください
SPLongOperationクラス:
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splongoperation.aspx
 
Technoratiラベル:
moss ,
sharepoint ,
SPLongOperation ,
Operation in Progress