这是今天写的代码,问题是:我在弹出层中添加的服务器按钮事件,在弹出层不触发?
View Code
运行调试时候,BtnAdd的服务器端事件不会触发。。
网上查看资料后,才发现,原来是弹出层在被Jquery创建open后跳出了表单form1,所有无法执行服务器端事件。
解决方法有:
1、设置按钮 不被解析成 submit,UseSubmitBehavior="false"
2、使用js延时,在按钮提交关闭弹出层,后才提交表单
dialog.close();
setTimeout(function () { $("#form1").submit(); }, 10);
3、打开弹出层时候,把弹出层追加到form表单中
var $dig = $("#addDiv").dialog('open');
$dig.parent().appendTo(jQuery("form:first"));
1 $('#BtnAdd').click(function () { 2 dialog.close(); 3 setTimeout(function () { $("#form1").submit(); }, 10); 4 });