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クラスを使用するだけです.カスタムメッセージを表示し、begin()メソッドを呼び出して「操作in Progress」ページを表示し、長期的な操作を開始するものを指定します.End()メソッドを呼び出してリダイレクトされたURLを渡す準備ができたら、次のコードで標準エラーページにリダイレクトすることもできます.
HTTPのリダイレクトがASPからNETはThreadAbortExceptionが投げ出され、私たちは自分のブロックでこの異常をキャプチャし、無視しなければなりません.
詳細についてはMSDNドキュメントを確認してください
SPLongOperationクラス:
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splongoperation.aspx
Technoratiラベル:
moss ,
sharepoint ,
SPLongOperation ,
Operation in Progress
説明:コードでSharepointの中のロード効果を実現して、いくつかの操作はsiteを作成する時、比較的に長い時間待つ必要がある時、sharepointは“Operation in Progress”の効果が現れます
コードでこの効果を実現し、あなたのページもsharepointのように効果を上げます!
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