我有一个要打开菜单的 asp:Button,我想根据菜单按钮左侧框中的 pageID 加载自定义菜单。到目前为止,我一直在使用 jQuery 对话框对此进行测试,该对话框目前可以使用,但不具备所需的功能。
我想动态创建菜单,所以有用的是一个 iframe,它将菜单页面加载到按钮左侧的框中。
它应该是这样的:
这是我现在用来在对话框中打开菜单的代码,如果可以以某种方式更改它以仅加载该按钮旁边的 iframe,那就太好了:
var $dial2 = ""
function openmenu(title, width, height, menuID) {
$dial2 = $('<div></div>')
.html('<iframe id="dial1" style="border: 0px; " src=/CustomControls/PageSubMenu.aspx?&menuID="' + menuID + '" width="100%" height="100%"></iframe>')
.dialog({
autoOpen: false,
modal: true,
height: height,
width: width,
title: title
});
$dial2.dialog('open');
}
最佳答案
最后,我使用上面显示的对话框实现了这一点,但使用了 position 属性将它连接到我的按钮的边缘。我在对话框中添加了一个按钮来关闭它,并且还向菜单中显示的任何按钮添加了一个关闭事件。
function openmenu(width, height, menuID) {
if ($dial2 == "") {
$dial2 = $('<div></div>')
.html('<iframe id="dial2" style="border: 0px; " src=/CustomControls/PageSubMenu.aspx?&menuID="' + menuID + '" width="100%" height="100%"></iframe>')
.dialog({
autoOpen: false,
modal: false,
height: height,
width: width,
title: 'Menu',
draggable: false,
resizable: false,
position: {
my: 'top',
at: 'left-207',
of: $('#btnMenu')
},
dialogClass: "testdia"
});
$dial2.dialog('open');
}
else {
closemenu();
}
}
关于c# - 从 iframe 内的按钮打开菜单列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21281809/