Show an “Operation in Progress” page from your code

本文介绍如何使用SPLongOperation类在SharePoint中实现加载效果(OperationInProgress)。通过设置自定义消息并调用Begin()和End()方法,可以轻松地为长时间运行的操作提供友好的用户体验。文中还提供了异常处理的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原链接: 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()方法,以示“Operation 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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值