日期:2014-05-18  浏览次数:20561 次

如何在提交页面之后webservice调用完成之前显示"请等待"
实在是没找到相关答案,特来问了。
方案1)用Javascript写一个“请等待”...因为种种原因,不能这样用。
方案2)调用webservice方法之前提交页面,调用完成之后再提交一次。
      protected   void   buttonConfirm_Click(object   sender,   EventArgs   e)
        {
                try
                {
                        MediatorWS   mWS   =   new   MediatorWS();

                        mWS.Credentials   =   System.Net.CredentialCache.DefaultCredentials;
                        mWS.Url   =   System.Configuration.ConfigurationManager.AppSettings[ "mediatorwsurl "];

                        ////   这里调用webservice,可能会花很多时间!
                        ProvisionResponse   resp   =   mWS.ProvisionSubscriber2(username,   password,   techUsername,   techPassword,   deviceId);

                        switch   (resp)
                        {
                                case   ProvisionResponse.Success:
                                        Response.Redirect( "Succeed.html ");
                                        break;
                                case   ProvisionResponse.InvalidSubscriberAccount:
                                        lbID.Text   =   "failed ";
                                        break;
                                default:
                                        lbID.Text   =   "Status   unknown ";
                                        break;
                        }
                }
}
每次调用那个webservice都要等很长的时间,能不能先在页面上lbID.Text   =   "Please   waiting... "等到调用完成之后再显示其他的值?


------解决方案--------------------
直接用AJAX调用webservice不是更好吗,调用前用JS显示 "请等待... ",数据读取完毕后显示结果
------解决方案--------------------
用ajax的upagrateprogress 控件
------解决方案--------------------