我正在开发ASP.NET webform开发。我正在使用jquery fancybox将我的网页称为弹出窗口。一切都很好。但是当我关闭弹出窗口并再次打开弹出窗口时,我的问题就出现了,page_load多次调用。
示例:我有一个“添加用户”按钮。当我第一次单击时,它会打开弹出窗口并调用Page_load一次。我关闭了弹出窗口并再次点击“添加用户”,这次我运行Debug时,它加载了Page_Load方法两次,然后再重复三次等等。
在我的母版页上,我正在调用fancybox api(因为我将在整个应用程序中使用Fancybox)
Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(FancyBoxLoad);
function FancyBoxLoad(sender, args) {
var dWidth = parseInt(500);var dHeight = parseInt(500);
$(".various").click(function() {
if ($(this).attr('href').match(/width=[0-9]+/i) != null) {
dWidth = parseInt($(this).attr('href').match(/width=[0-9]+/i)[0].replace('width=', ''));
dHeight = parseInt($(this).attr('href').match(/height=[0-9]+/i)[0].replace('height=', ''));
}
$(".various").fancybox({
maxWidth: dWidth,
maxHeight: dHeight,
fitToView: true,
width: '75%',
height: '100%',
autoSize: false,
closeClick: false,
openEffect: 'none',
closeEffect: 'none'
});
});
}
在我的内容页面上,我有
<div style="float: right; padding-right: 10px;">
<a id="addnew" class="various fancybox.iframe" href="">
<input class="button" value="Add User" type="button" /></a>
</div>