我们知道,如果一个网页里面有大量代码、图片等,下载速度是很慢的,而一个软件,通常要登陆,因此我想,创建一个简单的登陆页面,这个页面通常马上就可以显示出来,而用户输入帐号、密码,再点登陆要花较长的时间,能否利用用户登陆过程中,异步把主程序页面下载下来,等用户登陆完成,主页面也下载得差不多了,可以给用户更好的体验

解决方案 »

  1.   

    webrequest把主页的源码下下来直接赋给一个页面好了
      

  2.   

    解决了,我采用了DEVEXPRESS控件中的ASPxPopupControl弹出窗口控件
    设置其ContentUrl为主页面地址,然后在onload中执行:
    mypop.ShowWindowContentUrl(-1);
    该命令会在后台异步下载页面,不会显示出弹出窗口,如果用myPop.Show()则会把窗口显示出来,这里用不上了,呵呵.
    该控件是个好东西,可以模拟模式/非模式弹出对话框,可以直接用另外一个网页做为内容等等,解决了window.open/window.showModelDialog等方法在不同浏览器中兼容性问题.
      

  3.   

    示例代码如下:
    mypop.SetContentUrl( 'Default3.aspx');
    mypop.ShowWindowContentUrl(-1);
    mypop为ASPxPopupControl的客户端实例,也就是ClientInstanceName属性,SetContentUrl设置内容页面的网址,如果有多个页面,可以为该控件添加多个WINDOW属性,默认没有设置window,内容就显示到mypop本身控件上,
    mypop.ShowWindowContentUrl(index)表示载入哪个window索引的内容,-1表示没有window,也就是默认状态,如果有多个网址要异步载入,可以添加多个window,然后为每个window设置网址,并mypop.ShowWindowContentUrl(index)出来,详细内容看控件自带的demo,或者官方网站:
    http://demos.devexpress.com/ASPxperienceDemos/PopupControl/ClientSide.aspx
    该页面中,演示的是客户端事件,实际用到是多window属性