103 lines
3.1 KiB
C#
103 lines
3.1 KiB
C#
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Linq;
|
|||
|
using System.Web;
|
|||
|
using System.Web.UI;
|
|||
|
using System.Web.UI.WebControls;
|
|||
|
using Newtonsoft.Json;
|
|||
|
|
|||
|
namespace FineUIPro.Web.Controls
|
|||
|
{
|
|||
|
public partial class ProgressBox : System.Web.UI.UserControl
|
|||
|
{
|
|||
|
#region 各种属性
|
|||
|
/// <summary>最大值</summary>
|
|||
|
public int Max
|
|||
|
{
|
|||
|
get { return this.Session["_Max"] != null ? Convert.ToInt32(this.Session["_Max"]) : 100; }
|
|||
|
set
|
|||
|
{
|
|||
|
if (this.Session["_Max"] != null) { this.Session["_Max"] = value; }
|
|||
|
else { this.Session.Add("_Max", value); }
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private static int _value;
|
|||
|
/// <summary>进度值 </summary>
|
|||
|
public int Value
|
|||
|
{
|
|||
|
get { return _value; }
|
|||
|
set
|
|||
|
{
|
|||
|
if (value < 0) { value = 0; }
|
|||
|
if (value > this.Max) { value = this.Max; }
|
|||
|
_value = value;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary> ajax回调时的网址 </summary>
|
|||
|
public String PageUrl
|
|||
|
{
|
|||
|
get { return this.ViewState["_PageUrl"] == null ? this.Page.Request.Url.ToString() : this.ViewState["_PageUrl"].ToString(); }
|
|||
|
set
|
|||
|
{
|
|||
|
if (this.ViewState["_PageUrl"] != null)
|
|||
|
{ this.ViewState.Add("_PageUrl", value); }
|
|||
|
else
|
|||
|
{ this.ViewState["_PageUrl"] = value; }
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public delegate void ThreadStartFunciton();
|
|||
|
public ThreadStartFunciton RunFunction
|
|||
|
{
|
|||
|
get { return this.Session[this.ID + "_runFunction"] as ThreadStartFunciton; }
|
|||
|
set
|
|||
|
{
|
|||
|
if (this.Session[this.ID + "_runFunction"] != null)
|
|||
|
{ this.Session.Add(this.ID + "_runFunction", value); }
|
|||
|
else
|
|||
|
{ this.Session[this.ID + "_runFunction"] = value; }
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
#region 各种方法
|
|||
|
|
|||
|
/// <summary>开始一个进程,运行this.RunFunction中指定的函数 </summary>
|
|||
|
public void StartThread()
|
|||
|
{
|
|||
|
this.StartThread(this.RunFunction);
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>开始一个进程,运行指定的函数 </summary>
|
|||
|
/// <param name="runFunction"><函数的名称/param>
|
|||
|
public void StartThread(ThreadStartFunciton runFunction)
|
|||
|
{
|
|||
|
|
|||
|
System.Threading.Thread thread = new System.Threading.Thread(new System.Threading.ThreadStart(runFunction));
|
|||
|
thread.Start();
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>获得客户端回调函数的字符串 </summary>
|
|||
|
/// <returns>STring</returns>
|
|||
|
public String GetPostBackFunctionNameReference()
|
|||
|
{
|
|||
|
return "returnResponse();";
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>向客户观返回取当前进度的值</summary>
|
|||
|
public void ResponseValue()
|
|||
|
{
|
|||
|
Response.Write(this.Value.ToString() + "," + this.Max.ToString());
|
|||
|
Response.Flush();
|
|||
|
Response.Close();
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
|
|||
|
protected void Page_Load(object sender, EventArgs e)
|
|||
|
{ }
|
|||
|
}
|
|||
|
}
|