Ext.Net 1.x_Ext.Net.TaskManager模拟进度条

原创 2011年01月07日 16:29:00

一直很想做一个登陆时候的进度条 上图先:

 

   <ext:Button ID="btnlogin" runat="Server" Text="登陆"  Icon="Accept" OnDirectClick="Login_Click" >
            </ext:Button>
             
    <ext:TaskManager ID="TaskManager1" runat="server">
        <Tasks>
            <ext:Task 
                TaskID="Task1"
                Interval="1000" 
                AutoRun="false">
                <DirectEvents>
                    <Update OnEvent="RefreshProgress" />
                </DirectEvents>                    
            </ext:Task>
        </Tasks>
    </ext:TaskManager>

 protected void Login_Click(object sender, DirectEventArgs e)
    {
        Model._Login _lg = new Model._Login();
        _lg.UserCode = this.txtusername.Text.Trim();
        _lg.Password = this.txtpassword.Text.Trim();
        BLL.Login lg = new BLL.Login();
        if (lg.UserLogin(_lg))
        {


            X.Msg.Show(new MessageBoxConfig
            {
                Title = "请等待",
                Message = "正在加载项",
                ProgressText = "初始化中...",
                Width = 300,
                Progress = true,
                Closable = false,
                AnimEl = this.btnlogin.ClientID
            });

            this.StartLongAction();
        }
        else 
        {
            X.Msg.Alert("警告", "账号或密码有误").Show();

        }

    }
    private void StartLongAction()
    {
        this.Session["Task1"] = 0;
        ThreadPool.QueueUserWorkItem(LongAction);

        this.TaskManager1.StartTask("Task1");
    }


    private void LongAction(object state)
    {
        for (int i = 0; i < 100; i++)
        {
            Thread.Sleep(100);
            this.Session["Task1"] = i + 1;
        }
        this.Session.Remove("Task1");
    }


    protected void RefreshProgress(object sender, DirectEventArgs e)
    {
        object progress = this.Session["Task1"];
        if (progress != null)
        {
            X.Msg.UpdateProgress(((int)progress) / 100f, string.Format(" {0} % {1}", progress.ToString(), 100));
        }
        else
        {
            this.TaskManager1.StopTask("Task1");
            X.MessageBox.Hide();
            //this.ResourceManager1.AddScript("Ext.Msg.notify('Done', 'Your items were loaded!');");
            Response.Redirect("Default.aspx");
        }
    }

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

EXT_进度条组件_Ext.ProgressBar

进度条组件常用配置:/*常用配置项表:applyTo String 页面上已存在元素或元素id,组建追加到该元素后renderTo String ...

ext 实现进度条效果

String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServ...

[Ext.Net]1.X _德仔铁观音学习笔记整理

1 .配置及简单布局 2.常用组件介绍      2.1 Dropdownlist结合TreePanel (checkbox)      2.2 模拟进度条      2.3...

ext.net 1.x DEMO

  • 2013-07-18 16:50
  • 1.68MB
  • 下载

vb.net 文件夹实现移动 并显示进度条,richtextbox1显示移动的文件名

利用线程,和计时器,Function GetFolderSize从网上借鉴的,IO类只支持不同分区移动,所以移动目录只能在相同分区,设计界面如图,如: d:/a  d:/b(空目录)代码如下 Impo...

EXT.NET_X.Js.Call方法

我们对在前台触发一个客户端事件,来操作界面元素,已经很熟悉,但这属于静态脚本范畴。往往有些时候,我们还需要动态脚本,也就是说,脚本在执行过程中需要的变量,是从服务器端获得的,那么X.Js.Call方法...

Ext.Net 1.x_Ext.Net.GridPanel 模拟CS实现主从表操作

HTML:测试 ...

EXT.NET_X.Js.Call方法

我们对在前台触发一个客户端事件,来操作界面元素,已经很熟悉,但这属于静态脚本范畴。往往有些时候,我们还需要动态脚本,也就是说,脚本在执行过程中需要的变量,是从服务器端获得的,那么X.Js.Call方法...

一步一步使用Ext JS MVC与Asp.Net MVC 3开发简单的CMS后台管理系统之创建Viewport(1)

忙活了那么久,终于进入正题,Ext JS MVC开发。开始前,先说说4.1.1的一点点变化。在4.1的时候,要先创建一个扩展于Ext.app.Application的类,然后用create创建它的实例...

Ext.Net 1..0中的RowExpander插件

昨天研究了一下RowExpander,在这里把学习过程中遇到的一些问题记录一下,以备日后参考。页面代码:
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)