Sharepoint中调用“操作正在进行(Operation in progress)”页面
From:http://blogs.inetium.com/blogs/bcaauwe/archive/2007/12/20/splongoperation-sharepoint-spin-wheel.aspx
我们在开发定制的Sharepoint页面时经常会碰到执行比较耗时的情况,这时候客户端往往看上去像失去了响应导致用户认为我们的代码写的有问题。如果在执行这些耗时操作的时候能给用户一个“操作正在进行”的提示,用户的体验就会好很多。
比如下面的:
当然,让人激动的就是Sharepoint内置了这个功能:SPLongOperation
在创建自定义站点、更新属性、调用Web Service、批量增加和更新条目等时候你都可以使用这个对象。
下面是一个在webpart中使用该对象的代码片段:
void Button1_Click(object sender, EventArgs e)
{
SPLongOperation longoperation = new SPLongOperation(this.Page)
longoperation.LeadingHTML = "Leading HTML shows here";
longoperation.TrailingHTML = "Trailing HTML will be displayed here";
longoperation.Begin();
// Code which will take time…
longoperation.End(strURL);
}
工作原理:
SPLongOperation 具备一个LeadingHTML属性,用来显示定义好的消息。
Begin 方法会在调用页面上显示一个转动的齿轮动画,直到你调用End方法。
End方法会根据设定的URL跳转到你希望转向的页面。