使用ASP.NET 2.0(C#)实现这样的功能:单击按钮1(设其ID为"BtOk")后,先执行一段代码,代码运行完毕后,便实现了该按钮的作用,然后再弹出一个选择性对话框,单击“确定”则再执行一段新代码,单击“取消”则执行另一段代码。但是要求不论单击对话框中的“确定”还是“取消”,单击按钮BtOk的代码必须执行。请问该如何实现?

解决方案 »

  1.   

    按钮事件
    {
    //要运行的代码
    Page.ClientScript.RegisterStartupScript(this.GetType(), "js", "<script language='javascript'>var i = confirm('确定?');
    if(i==true){//执行的新代码}</script>");}
      

  2.   

    这个简单,看好了:
    假设你那个按钮ID是Button1
    这样写:this.Button1.Attributes.Add("onclick", "return confirm('确认删除吗?')");
    不过必须写在Load事件里面。
    OK!!!!!!!!!!
      

  3.   

    父业面代码如下:
    // BtOK调用的方法
    private void Method1()
    {
    }// 确定按钮调用的方法
    private void Method2()
    {
        Method1();
    }// 取消按钮调用的方法
    private void Method3()
    {
        Method1();
    }protected void Page_Load(object sender, EventArgs e)
    {
        if (Session["SelectFlag"] != null)
        {
            if (Session["SelectFlag"].ToString() == "Confirm")
                Method2();
            else
                Method3();
        }
    }protected void BtOK_Click(object sender, EventArgs e)
    {
        Method1();
        string scriptStr = "<script>window.showModalDialog('SelectDialog.aspx', window, 'dialogWidth:300px; dialogHeight:150px')</script>";
        Page.ClientScript.RegisterStartupScript(this.GetType(), "", scriptStr);
    }选择对话框页面代码如下:
    // 刷新父窗体并关闭对话框
    private void RefreshAndClose()
    {
        string scriptStr = "<script>window.dialogArguments.document.forms[0].submit();window.close();</script>"
        Page.ClientScript.RegisterStartupScript(this.GetType(), "", scriptStr);
    }protected void BtConfirm_Click(object sender, EventArgs e)
    {
        Session["SelectFlag"] = "Confirm"; 
        RefreshAndClose();
    }protected void BtCancel_Click(object sender, EventArgs e)
    {
        Session["SelectFlag"] = "Cancel";   
        RefreshAndClose();
    }
      

  4.   

    你可以在页面加个iframe,代码在iframe中执行,结束后在这个页中弹出一个层,你就可以随意控制了