62,268
社区成员
发帖
与我相关
我的任务
分享
//我实现的功能是: 当服务器端标志位stopFlag=0时,客户端页面显示“正在导入,请稍侯!”
//当stopFlag=1时,客户端页面显示“完成”,我这样写功能没实现?但不知道错误在哪?请高手多指出错误!!
//虽代码多点,但逻辑很简单的。
//服务器端代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack) //回调处理都引发Page_Load事件
{
Session["stopFlag"] = "0"; //停止标志,1表示停止
}
}
#region 客户端回调
private string returnValue; //返回值变量,回调的结果信息将保存在该字符串中
//引发回调事件处理
public void RaiseCallbackEvent(string arg)
{
//"arg"为从客户端的JavaScript传递过来的参数
if (arg == "start") //开始处理
{
Session["stopFlag"] = "0"; //停止标志置0,(1表示停止)
return;
}
if (arg == "stop") //停止线程
{
Session["stopFlag"] = "1"; //停止标志置1,(1表示停止)
return;
}
returnValue = Session["stopFlag"].ToString(); //返回处理的值
}
//回传回调结果
public string GetCallbackResult()
{
return returnValue;
}
#endregion
//客户端代码:
//显示进度值
function showProgress(Session["stopFlag"])
{
if(Session["stopFlag"]==0)
{
showState("正在导入设备,请稍侯!");
}
else if (Session["stopFlag"]=="1")
{
showState("完成!");
document.all.btnStart.disabled=false;
return;
}
setTimeout("getProgress()",1000); //每秒获取一次当前进度
}
//显示状态
function showState(result)
{
document.all.lblState.innerHTML=result;
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input id="btnStart" type="button" value="开始" onclick="showProgress();"/>
状态:[<asp:Label ID="lblState" runat="server" ForeColor="Red"></asp:Label>]
</div>
</form>
</body>
</html>