比如在点击某一个button时触发click事件(后台)     在事件里面进过一系列处理后、确定是否需要弹出提示框
     若需要 则弹出confrim提示框  
    
     点击效果:
       点击确定 继续执行代码
       点击取消 代码中断不再继续执行 页面无刷新
    现在目前有两个解决方案
     A、使用ajax+js+webservice(两个webservice方法,一个用于决定是否要弹出提示框,另一个用于提交数据)     B、使用registerstartupscript("hello", "<script type=text/js>if(confirm(" + msg + "))" + "{$(#<=hfisdo.clientid%>).attr(value,yes)}</script>");
可以在js里面做变动,在页面加入一个input hidden runat=server,
然后根据confirm返回的结果来改变hidden的值,js的动作比后台要快,
在if的时候可以直接根据if(hidden.value)的值来进行判断    这两种方案不知到那种好一点  不知还有更好的方案没      欢迎讨论........................

解决方案 »

  1.   

      直接在onclientclick事件中return confirm('是否确定删除')
      

  2.   

    onclientclick
    ClientScript.RegisterStartupScript(this.GetType(), "message", " <script language='javascript' >if(Confirm('确认码?'))document.getElementById('Hf').value='1'; else document.getElementById('Hf').value='0'; </script>");  if(Hf.Value.Equals("1"))  
    {  }  
      

  3.   

    confirm 确认框的一个实际应用
    http://blog.csdn.net/Sandy945/archive/2010/07/06/5715583.aspx
      

  4.   


     但是当value为0的时候 也就是点取消时 页面刷新了
      

  5.   


    这个不行 是否弹出提示框取决于 点击onserverclick事件 执行一系列代码后 这个是页面的button
      <input type="button" value="Save" class="btn-type-2words" id="btnSave" runat="server"
                        onserverclick="btnSave_ServerClick" />
      

  6.   

    第一种方式没有用过,关于第二种方式我还是头一次见过你这样用,我有一个疑问,这样如果在弹出对话框时,选择确定,能保证后台获取到hfisdo的值为yes么?
      

  7.   

    从项目代码中复制过来的,你试试<asp:Button ID="btnDelete" runat="server" Text="删 除"  style=" width:80px; height: 24px;" 
                    onclick="btnDelete_Click"  OnClientClick='if (!confirm("你确定要删除选中的行吗?")) {return false;}'/>&nbsp;&nbsp; 
      

  8.   

       导致了只要使用confrim弹出提示框的地方 点击后都执行了“//确认是执行的代码 ”或“//取消后执行的代码”  
      

  9.   

    在button_Click事件里写这句话 
    ClientScript.RegisterClientScriptBlock(typeof(Page), "您需要弹出的消息", @"alert('" + message + "');", true);alert 可换成confirm
      

  10.   

    不好意西,写错了在button_Click事件里写这句话  
    ClientScript.RegisterClientScriptBlock(typeof(Page), "需要添加的键名(可以随意起)", @"alert('" + 您需要弹出的消息+ "');", true);alert 可换成confirm
      

  11.   

                                Page.ClientScript.RegisterStartupScript(this.GetType(), "confirm", "CallServerMethod(confirm('确定要提交吗?CN状态将变为发放状态!'),null)", true);
      运行了这句但是没效果 
      

  12.   

    那么不就清楚了吗?
    点击按钮ajax方式回传,后台判断是弹窗还是直接执行,再返回结果给客户端
    执行就直接刷新页面或跳转,不执行就弹窗
    弹窗里的确认就直接回传就行了,取消是纯js
      

  13.   

    注册成功  源文件中的代码
    <script type="text/javascript"> 
    //<![CDATA[
    function PerformPostActions(controlID) {  }function CallServerMethod(args,context){
    WebForm_DoCallback('ctl00$cph$CNEdit',args,Success,"",Error,false);
    }//]]>
    </script>
      

  14.   


    页面是否实现了ICallbackEventHandler接口其实 你要的效果改的就是这句代码"CallServerMethod(confirm('确定要提交吗?CN状态将变为发放状态!'),null)", =》"confirm('确定要提交吗?CN状态将变为发放状态!')?CallServerMethod('true',null):'';", 
      

  15.   

      本以为是母版页的问题  但是我新建了一个测试页面  也没效果   估计你的这个不好使吧    唉! 还是 用我的 ajax 和webservice吧