各位好,现在小弟遇到一个问题,在Asp.net中运行一个函数,
运行到一半时需要跟客户端进行交互,
即是询问用户是否要继续执行,如果是就继续,否则就跳出。
小弟的想法是这样来的:
搞一个隐藏控件在源里,初始值为false,
用于客户端和服务器端传值。
在运行服务端的函数时,弹出一个JS的confirm框,
如果用户确定就把隐藏控件的值赋为true,否则为false。
然后根据隐藏控件的值去判断是否继续执行和退出。
思想就是这样子了,但问题来了
调试跟踪的时候发现:在运行完弹出confirm框这一行时,
页面的confirm框还没有出来,
但是程序继续执行,并且根据隐藏控件的初始值进行判断,
结果程序就继续执行,直至这个函数运行完后,
才出现confirm框,等点击完确定后,隐藏控件的值才被改变,
而这个时候服务端的函数已经运行完了,
根本就做不到根据用户的判断来进行是否继续执行。
请问各位大虾,我应该怎么来才能实现根据用户的操作
来选择是否继续执行程序呢?
运行到一半时需要跟客户端进行交互,
即是询问用户是否要继续执行,如果是就继续,否则就跳出。
小弟的想法是这样来的:
搞一个隐藏控件在源里,初始值为false,
用于客户端和服务器端传值。
在运行服务端的函数时,弹出一个JS的confirm框,
如果用户确定就把隐藏控件的值赋为true,否则为false。
然后根据隐藏控件的值去判断是否继续执行和退出。
思想就是这样子了,但问题来了
调试跟踪的时候发现:在运行完弹出confirm框这一行时,
页面的confirm框还没有出来,
但是程序继续执行,并且根据隐藏控件的初始值进行判断,
结果程序就继续执行,直至这个函数运行完后,
才出现confirm框,等点击完确定后,隐藏控件的值才被改变,
而这个时候服务端的函数已经运行完了,
根本就做不到根据用户的判断来进行是否继续执行。
请问各位大虾,我应该怎么来才能实现根据用户的操作
来选择是否继续执行程序呢?
解决方案 »
- 获取文件里面文件夹和子文件夹里面的内容
- 怎么把后台的值传到前台并且赋给select的option
- 如何从一个网上上传东西到另一个空间
- 怎么也插不入ACCESS数据库,晕!
- 有个问题比较急,希望大家能够帮帮忙!!!!!!!!!!!
- 希望得到帮助,.net如何在程序中设定新建页面?
- DataGrid问题(ASP.NET,C#)急急急!!!!
- 用datagrid自带的分页功能进行分页(属性生成器) ,可是 运行后 “上一页”“下一页” 不可选 ~~
- ***---***高分求助!!!在代码中调用outlook的时候出现如下错误:[UnauthorizedAccessException:access被拒绝!]谢谢!!
- webform上TextBox如何设定H5的属性?
- 初学文件上传,帮忙看一下
- 导出数据至excel指定的行列?
if(confirm("确认继续"))
return true
else
return false
或者你弹出一个页面,然后用session保持用户选择的结果!
页面加载完毕就把"一半"的程序执行完,把结果输出到页面某控件里,如hidden控件里,
在扭钮事件里直接取hidden控件里的值弹出confirm,询问是否继续,如果不继续return false,否则继续执行,
在得到confirm的返回值后,如真或假,用JS把返回值放到HIDDEN控件里,后台CS文件读取该值以判断用户当时的选择,
如confirm用户选择了是,则document.getElementById("某hidden").value = 1否则写0,
后台CS文件里取
某hidden.value == "1" ?do something : do another thing;
等会再结贴啊。
这个类要完成的任务就是:向客户端发送一段脚本,并且强制服务端立即输出,然后开始断断续续的sleep,并检测时候有结果返回(如何检测下面会说)
该脚本将完成弹出窗口,将参数传递到弹出窗口,并等待弹出窗口关闭,接收返回结果
并将结果传递给服务端的任务关键点在与如何将结果传递给服务端,这里就需要使用xmlhttprequest对象了,将结果提交到服务器
这个时候服务器正在断断续续的sleep,如何让服务器直到这个结果呢?这里就要通过HttpModule了,在服务端由一个HttpModule去接收结果,并保存到application级别的一个哈希表中,服务端检测是否有结果返回的时候就是通过这个地方去查询当然,为了能够确定一个准确的结果(不至于在多个用户弹出多个窗口时候混淆),你自己要去唯一的标识一个弹出窗口,并在提交结果的时候同时提交该标识当然,服务端应该有超市机制,过了多长时间,没有应答的话,就有个默认的动作去继续另外客户端浏览器那个弹出窗口,应该用模态窗口比较合适,但是不能让他一直在那里,可以再加上一个倒计时基本思路就是如此希望对你有所帮助