在c/s结构中比较在常见的方式
比如:for(int i=0;i<10;i++)
{
   if(i==5)
   {
     //程序中断 弹出是否对话询问用户是否继续 获得用户返回消息。。根据用户返回消息决定是否继续
   }
}请教是否在b/s结构中有实现的方法吗?
客户端只能是用javascript

解决方案 »

  1.   

    javascript中的弹出对话框:  第一种:alert("message")    第二种:confirm("message")    第三钟:prompt("message")    第四种:open("url")     第一种alert对话框是一个最简单,也是最常用的一个弹出对话框,通常用于提示信息,对话框包含一个按钮,单击对话框中的按钮将会关闭此对话框.   第二种confirm对话框返回的是一个布尔值,该对话框一般用于用户选择,该对话框包含两个按钮,一般一个是"确认",另一个是"取消",比如我们在开发程序的时候,创建一个删除按钮,为了防止用户务操作,一般就会用到这个对话框:"您确定删除吗?"如果选择"确定",执行删除,如果选择"取消",则返回,不做任何操作!   第三种prompt对话框,主要用户获取用户输入的信息,比如,弹出一个对话框: <script language="javascript">
       var name=prompt("你的名字叫什么?");  
       document.write(name);
    </script>   prompt对话框包括两个按钮("确认"和"取消")和一个文本框,文本框用来获取用户输入的信息.   第四种其实是一种用对话框的方式打开一个网页,open方法包含很多的参数,主要是用户设置浏览器的显示外观:window.open("Webpage.asp?",Derek,"height=100,width=100,status=yes,toolbar=yes, 
    menubar=no,location=no"); 
    此语句打开一个新窗口,页面为webpage.asp,参数为var,名字为Derek,高为100,宽为100,显示状态栏和工具条,不显示菜单和地址。 具体总结的各个属性参数如下: 
    window = object.open([URL ][, name ][, features ][, replace]]]]) 
    URL:新窗口的URL地址 
    name:新窗口的名称,可以为空 
    featurse:属性控制字符串,在此控制窗口的各种属性,属性之间以逗号隔开。 
    fullscreen= { yes/no/1/0 } 是否全屏,默认no 
    channelmode= { yes/no/1/0 } 是否显示频道栏,默认no 
    toolbar= { yes/no/1/0 } 是否显示工具条,默认no 
    location= { yes/no/1/0 } 是否显示地址栏,默认no 
    directories = { yes/no/1/0 } 是否显示转向按钮,默认no 
    status= { yes/no/1/0 } 是否显示窗口状态条,默认no 
    menubar= { yes/no/1/0 } 是否显示菜单,默认no 
    scrollbars= { yes/no/1/0 } 是否显示滚动条,默认yes 
    resizable= { yes/no/1/0 } 是否窗口可调整大小,默认no 
    width=number 窗口宽度(像素单位) 
    height=number 窗口高度(像素单位) 
    top=number 窗口离屏幕顶部距离(像素单位) 
    left=number 窗口离屏幕左边距离(像素单位)
      

  2.   


    这样不行的.
    这样做.
     protected void Page_Load(object sender, EventArgs e)
        {
            bool flag = false;
            if (Request["flag"]!=null && Request["flag"].ToString() == "1")
            {
                flag = true;
            }
            for (int i = 0; i < 10; i++)
            {
                if (i == 5 && flag != true)
                {
                    Response.Write("<script>if(confirm('是否真的继续')){window.location.href=if((/\\?/).test(window.location.href)){window.location.href.replace(/\\?/,'?flag=1&');}else{window.location.href=window.location.href+'?flag=1'}}</script>");
                    Response.End();
                }
             }
        }
      

  3.   


    protected void Page_Load(object sender, EventArgs e) 
        { 
            bool flag = false; 
            if (Request["flag"]!=null && Request["flag"].ToString() == "1") 
            { 
                flag = true; 
            } 
            for (int i = 0; i < 10; i++) 
            { 
                if (i == 5 && flag != true) 
                { 
                    Response.Write(" <script>if(confirm('是否真的继续')){window.location.href=if((/\\?/).test(window.location.href)){window.location.href.replace(/\\?/,'?flag=1&');}else{window.location.href=window.location.href+'?flag=1'}} </script>"); 
                    Response.End(); 
                } 
            } 
        }
      

  4.   

      可以 protected void Page_Load(object sender, EventArgs e)
        {
            bool flag = false;
            if (Request["flag"] != null && Request["flag"].ToString() == "1")
            {
                flag = true;
            }
            for (int i = 0; i < 10; i++)
            {
                if (i == 5 && flag != true)
                {
                    Response.Write(" <script>if(confirm('是否真的继续')){window.location.href='default.aspx?flag=1'} </script>");
                    Response.End();
                }
                Response.Write(i + "<BR>");        }
        }
    第一次输出
     0
    1
    2
    3
    4
    第二次接下来
    0
    1
    2
    3
    4
    5
    6
    7
    8
    9
      

  5.   

    suiqirui19872005的思路是对的 但这样要提交很多次 不知道有没有更好
    另外 suiqirui19872005我用vs2008跑不动 报javascript脚本错误。。
      

  6.   

    其实这个不能算是中断吧,完全可以div弹出用户控件然后根据不同的选择进行逻辑的编写。这个就不需要使用js,而且会灵活很多
      

  7.   

    我那个不是什么中断,只不过是一些逻辑判断而已.
     到要"有一些数据要询问用户是否继续的 "时,Response.write输出一个submit控钮.当用户点了按钮后,就执行后面的语句.
    if (Request["flag"] != null && Request["flag"].ToString() == "1")
            {
                执行后面的语句    ;
               Response.End();    }
    执行前面的语句
    if(模拟中断)
    {
    Response.write("if(comfirm('真的继续')){window.loation.href='de.aspx?flag=1'}")
    } Response.End();
      

  8.   

    不能。即使模拟实现的也是多个 HTTP 请求了,不是在“同一段程序过程”,多个请求记录状态。
      

  9.   

    需要用户判断时只能中断输出html返回客户端,并用cookis或session记下中断点.客户点击后再返回,读取中断点继续处理.如果B/S象CS那么强大,就没人用CS了.我们只能扬长避短.
      

  10.   


    孟老师说的不错 别把cs的想法扯到bs