http://blog.hanlei.name/archive/2003/11/06/147.aspx

解决方案 »

  1.   

    编译一下,可以当控件应用using System;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.ComponentModel;
    using System.Text;namespace WebControlLibrary
    {
    /// <summary>
    /// ConfirmButton 的摘要说明。
    /// </summary>
    [DefaultProperty("Text"), 
    ToolboxData("<{0}:ConfirmButton runat=server></{0}:ConfirmButton>")]
    public class ConfirmButton : System.Web.UI.WebControls.Button 
    {

    private string strMsg;
            /// <summary>
    /// 显示的消息
    /// </summary>
    [Bindable(true),
    Category("Appearance"),
    DefaultValue("")]
    public string Message
    {
    get{return strMsg;}
    set{strMsg=value;}
    }
    /// <summary>
    /// 按钮名称
    /// </summary>
    [Bindable(true),
    Category("Appearance"),
    DefaultValue("")]
    public new  string Text
    {
    get{return base.Text;}
    set{base.Text=value;}

    } private string GetJavaScriptBlock()
    {
    StringBuilder sb=new StringBuilder();
    sb.Append("<script language=\"javascript\">\n");
    sb.Append("<!--\n");
    sb.Append("function __doConfirm(btnWaiter) {\n");
    sb.Append("if (confirm(\"" + strMsg + "\")) {\n");
    sb.Append("btnWaiter.setAttribute(\"value\",\"Please Wait...\");\n");
    sb.Append("document.body.style.cursor=\"wait\";\n");
    sb.Append("return true;\n");
    sb.Append("} return false; }\n");
    sb.Append("-->\n");
    sb.Append("</script>");
    return sb.ToString();

    } protected override void OnPreRender(EventArgs e)
    {
    Page.RegisterClientScriptBlock("_doAlert",GetJavaScriptBlock());
    this.Attributes["onclick"]="return __doConfirm(this)";
    base.OnPreRender(e);
    }
    /// <summary> 
    /// 将此控件呈现给指定的输出参数。
    /// </summary>
    /// <param name="output"> 要写出到的 HTML 编写器 </param>
    protected override void Render(HtmlTextWriter output)
    {
    base.Render(output);
    }
    }
    }
      

  2.   

    把我上面的代码编译后添加到工具栏中然后拖出来双击那个按钮,写上你保存数据的代码就可以了那个ConfirmButton是在用户点击确定的时候就回发到服务器端,也就是可以执行你的代码不要用“好像”自己试试
      

  3.   

    js:
       test function()
         {
     if (confirm("確認要傳送嗎?"))
          txtRecord.value='true';
                 //不返回服務端  event.returnValue=false;  // 這句樓主可能會有用...
              else
                   txtRecord.value='false';
            }  <asp:textbox id="txtRecord" runat="server" Width="0px">CS中,
     檢查txtRecord的值就可以了.(因為txtRecord為asp控件是可以保存值的.)
      

  4.   

    楼上的好象不能得到txtRecord的值的
      

  5.   

    你點擊button﹐Button1.Attributes.Add("onclick","return confirm('確認要')");
      

  6.   

    你只能写button.Attributes["onclick"]="return confirm('你确实要保存?')";