我今天弄了半天也没有成功啊
我的代码:……………………
String confirmMsg ="#" +sendemail+" emails are ed to send, #"+  notApprovedEmail+" emails are ed to remove. Are you Sure?"; ;
String sb = "<script language=javascript>if(confirm('" + confirmMsg + "')){document.getElementById('"+this.confirmsendemails.ClientID+"').value='1';} else "
                + "{ document.getElementById('" + this.confirmsendemails.ClientID + "').value='0'; }</script>";
                
Page.RegisterStartupScript("test", sb);
                
                
if (confirmsendemails.Value.Equals("1"))
{
   …………………………
}
其中confirmsendemails是页面里的hiddenfiled。但是这样程序执行了javascript脚本后,不会等待用户点击ok或者cancel,而是继续向下执行if(){}里面的代码?请高手指教!

解决方案 »

  1.   

    在网页上放一个隐藏的Hidden控件,(自己命名为HidCheckResult),然后在页面加载中为按钮事件添加一个事件BtnSubmit.Attributes.Add("onclick", "isrealyOK()");对应的Js代码为  function isrealyOK()
        {
           document.getElementById("HidCheckResult").value=window.confirm("确定吗?");
        }然后就可以在cs代码中写if (((HtmlInputHidden)FindControl("HidCheckResult")).Value == "true"){response.write("您点击了确定按钮");else{response.write("您点击了取消按钮");}  就可以完成在服务器端的功能,写cs代码了
      

  2.   

    不是的,你这样做的话,一点击按钮马上就会弹出confirm的窗口,而我在弹出窗口之前还要做其他的判断(例如判断结果为false的时候弹出alter等)。所以不能一开始就弹出confirm
      

  3.   

    <asp:LinkButton commandname=del commandargument='<%# DataBinder.Eval(Container.DataItem, "newsid") %>' Runat=server OnLoad="Delete_Load" ID="Linkbutton4" >删除</asp:LinkButton>protected void Delete_Load(object sender, System.EventArgs e) 
    {
    ((LinkButton)sender).Attributes["onclick"] = String.Format("return confirm('{0}')","是否删除此新闻");
    }
      

  4.   

    土方法可以分成2个按钮事件,或者用AJAX先运行前面的再选择。。总之把2个部分方法分开。
      

  5.   

    <asp:Button ID="btn" runat="server" Text="ok" OnClick="btn_Click" />
    <asp:Button ID="btn1" runat="server" Text="ri" OnClick="btn1_Click" style="display:none;" />    protected void btn_Click(object sender, EventArgs e)
        {
            string confirmMsg = "asdfsafsafsadf";
            String sb = " <script language=javascript>if(confirm('" + confirmMsg + "')){document.getElementById('" + this.confirmsendemails.ClientID + "').value='1';} else "
                    + "{ document.getElementById('" + this.confirmsendemails.ClientID + "').value='0'; }document.getElementById('" + this.btn1.ClientID + "').click(); </script>";
            this.ClientScript.RegisterStartupScript(this.GetType(), "", sb);
        }
        protected void btn1_Click(object sender, EventArgs e)
        {
            if (confirmsendemails.Text.Equals("1"))
            {
                this.btn.Text = "asd";
            }
            else
            {
                this.btn.Text = "ok";
            }
        }
      

  6.   

    .aspx
    <Script language='JavaScript'>
        function isrealyOK() 
        { 
          document.getElementById("HidCheckResult").value=window.confirm("确定吗?"); 
        } 
    </script> <asp:HiddenField ID="HidCheckResult" runat="server" />.cs
    protected void Page_Load(object sender, EventArgs e)
    {
         Button1.Attributes.Add("onclick", "isrealyOK()"); 
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        if (((HiddenField)FindControl("HidCheckResult")).Value == "true")
        {         
            Response.Write("您点击了确定按钮");
        }
        else
        {
            Response.Write("您点击了取消按钮");
        }  
       
    }