问题描述
[quote]
this.WL_CJHPBBH.Attributes.Add("onchange","SetBuyPlanOID();");
不管客户端返回true还是false;页面都闪烁了一下,也就是执行了服务器端事件
但是如果用
this.WL_CJHPBBH.Attributes.Add("onchange","return SetBuyPlanOID();");
不管客户端返回true还是false;都不会去执行服务器端事件
[/quote]
如果一定要让DropDownList回送,不一定要将AutoPostBack设置为ture,而是通过在JS里面控制是否要回送
实现的方法,如下:
在后台加入这样的属性
this.ddlFolder.Attributes.Add("onchange", "checkSelectInDdl('gvMail','move');");//通过调用客户端的JS确定是否触发DropDownList的回送操作
JS函数
//检验DropDownList选中选项的时候,复选框有没被选中function checkSelectInDdl(gridviewName,operType){ chs = document.getElementById(gridviewName).getElementsByTagName("INPUT"); n = 0; for( i = 0; i<chs.length; i++ ) { if( chs[i].checked) { n++; } } if( n == 0 ) { alert("您没有选中任何记录,请选择..."); } else { switch (operType) { case "mark": if(confirm("您选中了" + n + "条记录,确定要设置吗?")) { document.form1.submit(); break;//提交表单,即实现回送 } case "move": if(confirm("您选中了" + n + "条记录,确定要移动吗?")) { document.form1.submit(); break; } } }}
相关资源:ASP.NET开发实战1200例(第1卷).part2