protected void Button1_Click(object sender, EventArgs e)
    {
        System.Text.StringBuilder scriptString = new System.Text.StringBuilder();
        scriptString.Append("<script language = Javascript>");
        scriptString.Append("function Confirm(){");
        scriptString.Append("return confirm('确认:" + txtName + "吗?');}");
        scriptString.Append("</script>");
        string js = scriptString.ToString();
        if (!IsClientScriptBlockRegistered("Confirm"))
        {
            RegisterClientScriptBlock("Confirm", js);        
        }
        Button1.Attributes.Add("onClick", "return Confrim()");
        
    }

解决方案 »

  1.   

    把下面语句移到page_load()里
    System.Text.StringBuilder scriptString = new System.Text.StringBuilder();
            scriptString.Append("<script language = Javascript>");
            scriptString.Append("function Confirm(){");
            scriptString.Append("return confirm('确认:" + txtName + "吗?');}");
            scriptString.Append("</script>");
            string js = scriptString.ToString();
            if (!IsClientScriptBlockRegistered("Confirm"))
            {
                RegisterClientScriptBlock("Confirm", js);        
            }
            Button1.Attributes.Add("onClick", "return Confrim()");
    在click里已经是提交到服务器端
      

  2.   

    放在page load里,就不弹出对话框了,自动就提交了啊
      

  3.   

    要放到Page_load里,在初始的时候导入.
      

  4.   

    :)
    嘿嘿,你看看当你button_click事件还没有执行的时候,有你那段confirm的js代码么?
    显然没有了。所以,就先去执行button_click事件了,然后再创建了那段confirm的js代码。
      

  5.   


    scriptString.Append("function Confirm()//这里{");
    Button1.Attributes.Add("onClick", "return Confrim()//这里");
    比较一下两个代码,你就知道了
      

  6.   

    Button1.Attributes.Add("onClick", "return Confrim()");
    就是生成一个Button1下的属性标记,也就是在html页面里的onClick=return Confrim()
    另外,Button1的autopostback设成false
    点击Button1时谈出对话框但没有引起回传
      

  7.   

    OnClientClick="javascript:return confirm('真的要删除吗?');"