问题描述
[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里面控制是否要回送
实现的方法,如下:
在后台加入这样的属性
JS函数
[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;
}
}
}
}