asp.net 弹出确认框

实现弹出确认框一般我们都使用注册启动脚本来实现弹出确认框:

string JsStr="<script>";
//写成这样是演示的时候方便看,写代码时不推荐这样写
JsStr+="    if(confirm('是否修改')){             ";
JsStr+="        //点击确认后的操作               ";
JsStr+="    }                                    ";
JsStr+="    else{                                ";
JsStr+="        //点击取消后的操作               ";
JsStr+="    }                                    ";
JsStr+="</script>";
Page.ClientScript.RegisterStartupScript(GetType(), "",JsStr;

但是为了考虑点击确认后或者取消后能跟方便的写后台代码,我给大家推荐下面的写法。

我们先引用接口  IPostBackEventHandler  这个接口是实现事件机制的核心接口(如果你们想深入了解Page的PostBack过程和IPostBackDataHandler这个接口推荐阅读这篇文章: http://www.cnblogs.com/joeliu/archive/2008/07/09/1237699.html

引用了这个接口后我们可以直接鼠标定位到这个接口上右键快速操作和重构来实现接口,也就是下面的这个代码

 public void RaisePostBackEvent(string eventArgument)
    {
        throw new NotImplementedException();
    }

实现接口之后,我们就可以在需要弹出确认框的地方写入这样一段代码

 ScriptManager.RegisterStartupScript(this, this.GetType(), "confirm",
            "if(confirm('是否确认修改?'))" + this.ClientScript.GetPostBackEventReference(this, "修改") + "; else " +
            this.ClientScript.GetPostBackEventReference(this, "不修改") + ";", true);

然后在刚刚实现接口的方法中便可以直接写入后台代码了

 public void RaisePostBackEvent(string eventArgument)
    {
        try
        { 
            //这里可以直接写你的后台代码
            //eventArgument代表你传来的值,实现弹出确认框的代码中(也就是上一段代码)
            //有this.ClientScript.GetPostBackEventReference(this, "不修改")一句话,其中“不
            //修改”就是传来的值。
            switch (eventArgument)
            {
                case "修改":
                    TextBox1.Text="修改";
                    break;
                case "不修改":
                    TextBox1.Text="不修改";
                    break;
                default:
                    TextBox1.Text="默认";
                    break;
            }
        }
        catch (Exception ex)
        {
            TextBox1.Text=ex.Message;
        }

    }

大家可以运行看看效果了。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值