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转换为数组使用。
注意:使用时候注意调用的前后顺序,和几个关键转换函数的使用。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。