У меня есть asp: Button, который я хочу открыть в меню, я хотел бы загрузить пользовательское меню в зависимости от идентификатора страницы в поле слева от кнопки меню. Я тестировал это, используя диалог 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();
}
}