asp.net中客户端控件同时调用js和服务器端click事件

在初始化的OnInit中方法:

    this.btnConfirm.OnClientClick = "javascript:PopupConfirmSelection(); return true;";
            this.btnConfirm.Click += btnConfirm_Click;

在这里return true或是不设置的时候才可以继续执行click,return false无效

js代码:

function PopupConfirmSelection() {
        var beginDate = $('#<%= dpBeginDate.ClientID %>_txtDate').val();
        var endDate = $('#<%= dpEndDate.ClientID %>_txtDate').val();
        var arr = new Array();
        $("div#divSelectedUnits div.selectedUnit").each(function () {
            var selectedUnit = $(this);
            var unitId = selectedUnit.attr('unitId');
            var unitCode = selectedUnit.attr('code');
            var tradeMixId = selectedUnit.attr('tradeMixId');
            var rentArea = selectedUnit.attr('rentArea');
            var useArea = selectedUnit.attr('useArea');
            var publicArea = selectedUnit.attr('publicArea');
            var contractUnit = { "UnitId": unitId, "UnitCode": unitCode, "TradeMixId": tradeMixId, "UnitRentArea": rentArea, "UnitUseArea": useArea, "UnitPublicArea": publicArea, "BeginDate": beginDate, "EndDate": endDate };
            arr.push(contractUnit);
        });
        var str1 = JSON.stringify(arr);
        $('#<%=hdnContractUnitSelected.ClientID %>').val(str1);
    }

    function PopupConfirmSelection2() {
        var arr2 = eval($('#<%=hdnContractUnitSelected.ClientID %>').val());
        top.returnValue = arr2;
        ClosePopup(true);
        return false;
    }

页面中的隐藏控件:

<asp:HiddenField ID="hdnContractUnitSelected" runat="server" />

在js中获取的是个数组形式的数据,放到页面中的隐藏控件中,调用PopupConfirmSelection()后使用JSON.stringify将获得的arr转换序列化成字符串使用,在PopupConfirmSelection2()中再将获得的字符串使用eval转换为数组使用。

 

注意:使用时候注意调用的前后顺序,和几个关键转换函数的使用。

转载于:https://www.cnblogs.com/dongrui61/p/3570909.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值