天天看点

<asp:Button>先执行前端js函数,再执行后台的事件处理

有两种使用方式:

1)<asp:Button>是一个单纯的Button,没有在<asp:Adapter>中,此时,要想实现button先执行js函数,再执行后台事件处理,此时的解决办法就是,直接上代码:

前端代码:

  <%--后台触发执行的js函数--%>

    <script type="text/javascript">  

        function JsYuezhifuFunction() {

            if (confirm("确定支付吗?")) {

                window.location = "Service_My_center.aspx";

            return true;  

        }  

        return false;  

    }  

</script>  

<asp:Button ID="yuezhifu" CssClass="yuezhifu" runat="server" Text="余额支付" OnClick="yuezhifu_Click"/>

后台代码:

   if (!IsPostBack)

            {

                //在进行支付的时候,先要弹出框提示

                yuezhifu.Attributes.Add("onclick", "return JsYuezhifuFunction()");

注意的是,这段代码要写在的是page_onload()方法中。

  2)<asp:Button>是存在于<asp:Adapter>中

前端中的代码是不变的,要变得就是后台中原来写在page_onload()方法中的代码,要写在的是<asp:Adaper>的onDataBound()的方法中

 protected void daifukuanRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e)

        {

            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)

            {

                Button quxiaodingdan = (Button)e.Item.FindControl("QuxiaoDingdan");

                quxiaodingdan.Attributes.Add("OnClick", "return  jsqudanFunction()");

            }

        }

继续阅读