protected void btnNext_ServerClick(object sender, EventArgs e)
{
      ……//先要执行一部分代码必须       //弹出一个确认,取消对话框       if (用户点的是确认)
      { 
         ……
      }
      else
         return;
}如何实现,弹出确认/取消对话框。当点确认运行其它代码,取消后不运行。

解决方案 »

  1.   

    用js的return confirm不可以么??
      

  2.   

    那如何在 C# 中得到confirm的返回值
      

  3.   

    在Page_Load事件里添加一行代码即可btnNext.Attributes["OnClick"]="javascript:return confirm('要提示的确认信息?');";去掉该事件里的 if....else
    protected   void   btnNext_ServerClick(object   sender,   EventArgs   e) 

       //直接写事件处理程序           

      

  4.   

    if   (用户点的是确认) 
                {   
                      …… 
                 } 
                else 
    {
    response.write("<script>return confirm('要提示的确认信息?');</script>");
    response.END(); return; 
    }
                     
      

  5.   

    3楼的我会,但不是我想要的。
    4楼的return 在函数之外,报错。而且你的这个写法好像缺点我说不出来的东西。
      

  6.   


    这个流程象是winform的不如用隐藏控件记录操作状态
     ……//先要执行一部分代码必须 
    ok -> 设置状态 
    client的window.onload()里 查状态 打开确认窗口
    如果选 取消 则不处理,
    选 确认 可以form1.submit(); 或者 btnNext.click();
    再次返回服务器端进行下步处理....
      

  7.   

    好。有道理。请很个DEMO
    我好接分  thanks
      

  8.   

    return confirm就可以达到效果啊
      

  9.   

    不好意思给了错误的代码
      protected void Button1_Click(object sender, EventArgs e)
        {
              if   (用户点的是确认)  
                { ……  }  
                else  
               {
               Response.Write("<script>javascript:window.confirm('确定要删除吗?》');</script>");
               return;
               }
        }
      

  10.   

    return confirm 就不能完成这个功能……
    如果点了确定……
    下面的继续……
    如果点取消下面的就不执行……
    没有办法用if……else……来判断的……
    他是DHTML,是在客户端执行的,如果是判断那就是服务器端的功能了……
      

  11.   

    http://blog.csdn.net/llxchen/archive/2008/03/11/2166539.aspx
      

  12.   

    受不了你们了这个功能用AJAX做不就好了,页面JS判断完了返回到服务器端再回客户端标准的ajax啊
      

  13.   

    楼主这个问题的确和普通的Confirm处理有所不同,但也是可以处理的。建议将你的逻辑分离一下,点击了你的按钮的时候,首先执行之前的代码,并给出提示。
    通过JS来判断用户选择的是确定还是取消,如果是选择的确定,再执行后面的代码,这中间我通过一个隐藏的Button1来处理这个工作。应该能达到楼主想要的效果。
    下面是一个刚写的可以运行的例子
    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;public partial class UseConfirmSample : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {    }
        protected void BT_Submit_Click(object sender, EventArgs e)
        {
            BeforeConfirmExecuteCode();        string script = @"var b = confirm('是否继续');
                if(b)
                    document.getElementById('Button1').click();
                else
                    alert('选择的是取消')";        Page.ClientScript.RegisterStartupScript(this.GetType(), "", script, true);
        }    /// <summary>
        /// 点击接钮之后,在弹出提示之前需要执行的代码
        /// </summary>
        private void BeforeConfirmExecuteCode()
        {
            Response.Write("这是在弹出确认/取消对话框之前执行的代码");
        }    /// <summary>
        /// 这是点击确定后继续执行的代码
        /// </summary>
        protected void OnSelectedConfirmExecuteCode()
        {
            Response.Write("你选择了确定,继续执行!");
        }    protected void Button1_Click(object sender, EventArgs e)
        {
            OnSelectedConfirmExecuteCode();
        }
    }<%@ Page Language="C#" AutoEventWireup="true" CodeFile="UseConfirmSample.aspx.cs" Inherits="UseConfirmSample" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>无标题页</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:Button ID="BT_Submit" runat="server" OnClick="BT_Submit_Click" Text="首先点击这个按钮" />
            <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" style="display:none" Text="Button" /></div>
        </form>
    </body>
    </html>
      

  14.   

    if(confirm("...","....."))
        alert("submit");
    else
        alert("return");
      

  15.   


    前台:
    <body>
    <script type="text/javascript">
        function A(){
            if(window.confirm("sure")){
                var a=document.getElementById("hf");
                a.value="a";//标记确认过
                var b=document.getElementById("btn");
                b.click();
            }
            return false;
        }
    </script>
        <form id="form1" runat="server">
        <asp:HiddenField ID="hf" runat="server" />
        <asp:TextBox ID="txt" runat="server" ></asp:TextBox><asp:Button ID="btn" runat="server" Text="提交" OnClick="btn_Click"  />
        </form>
    </body>后台:
    protected void btn_Click(object sender, EventArgs e) {
                if (this.hf.Value == "a") {
                    //这里执行确定后的代码
                    this.hf.Value = "";
                    return;
                }
                else {
                    //先要执行一部分代码必须
                    Page.RegisterStartupScript(null, "<script type='text/javascript'>A()</script>");
                }
            }