此组件内包含:
FantasyColorDialog:调色板控件。
FantasyPopupBox:弹出提示控件(修改自Ben的PopupBox)。
FantasyProgressBar:进度栏控件。
以及一个静态类MessageBox。
http://aspxhome.vicp.net/AspNetNews/lostpass.aspx
进度条控件使用方法。
设计页面代码:
<FMC:FantasyProgressBar ID="ProgressBar" runat="server" OnValueChanged="ProgressBar_ValueChanged"></FMC:FantasyProgressBar>
<input id="ProgressBarBtn" runat="server" type="button" value="测试进度条" />
类文件代码:
// 页面加载时设置控件属性。
protected void Page_Load(object sender, EventArgs e)
{
// 将调用进度条事件的脚本赋值给按钮的点击事件。
ProgressBarBtn.Attributes["onclick"] = ProgressBar.InvokeScript;
// 设置进度条更新间隔(单位:毫秒)。
ProgressBar.Interval = 500;
// 添加回传之前的客户端脚本。
ProgressBar.CallbackAppendScript = @"
// 这里可以添加回传之前需要处理的事务。
// 若要强行中止进度条时间则让此函数返回 false 值即可。
";
// 添加返回之后的客户端脚本。
ProgressBar.ReceiveAppendScript = @"
// 这里可以添加返回之后需要处理的事务。
// 若要强行中止进度条时间则让此函数返回 false 值即可。
";
}
// 当进度条值改变时触发该事件。
protected void ProgressBar_ValueChanged(object sender, EventArgs e)
{
// 进度条的值完全由开发人员动态指定,控件本身不参与进度计算。
if (ProgressBar.Value > 50)
{
ProgressBar.Value += 3;
}
else
{
ProgressBar.Value += 1;
}
Session["Time"] = ProgressBar.Value;
if (ProgressBar.Value > 100)
{
Session.Remove("Time");
}
}
这是调用进度条执行事件的客户端代码
function InvokeProgress(ProgressBar) {
if (ProgressBar.children[0].style.width == 0 + "%") {
WebForm_OnInvokeProgress(ProgressBar, 500);
}
}
function WebForm_OnInvokeProgress(ProgressBar, Interval) {
var Value = parseInt(ProgressBar.children[0].style.width);
if (!InvokeProgressCallbackAppendScript(Value, ProgressBar)) return;
var eventArgument = Value + "|" + Interval;
InvokeProgressCallTheServer(eventArgument, ProgressBar.id);
}
function InvokeProgressCallbackAppendScript(Value, ProgressBar) {
// 这里可以添加回传之前需要处理的事务。
// 若要强行中止进度条时间则让此函数返回 false 值即可。
return true;
}
function InvokeProgressReceiveAppendScript(Value, IsStop) {
// 这里可以添加返回之后需要处理的事务。
// 若要强行中止进度条时间则让此函数返回 false 值即可。
return true;
}
function InvokeProgressCallTheServer(args, context) {
WebForm_DoCallback('ctl00$MainContent$ProgressBar',args,InvokeProgressReceiveServerData,context,InvokeProgressReceiveProcessData,false);
}