2009-09-11 2 views
1

Я разрабатываю пользовательский элемент управления, и у него есть кнопка asp.net внутри jQuery Dialog, но когда я нажимаю кнопку, ничего не происходит, я имею в виду, что она не вызывает событие нажатия кнопки на стороне сервера, я попыталсяКнопка не возвращает обратно в диалоговом окне jQuery внутри UC

dlg.parent().appendTo(jQuery("form:first")); 

но это не помогло мне тоже, возможно для того чтобы достигнуть этого внутри asp.net UserControl? Также мне интересно, могу ли я использовать диалоговое окно UpdatePanel внутри или нет?

+0

который вы используете? – TheVillageIdiot

+0

Internet explorer 8 – zer0w1dthspace

+0

но я пробовал firefox 3.5.2 тоже, он не работает. – zer0w1dthspace

ответ

3

Вы можете сделать кнопку диалог кнопку и поставить кнопку asp.net на странице с идентификатором HiddenButton и завернуть его в DIV со стилем display:none;

Значок кнопки не отображается. (Не должно быть Visible = «ложь», так что кнопка визуализируется)

В диалоговом JavaScript добавить кнопку, которая имеет эффект нажатия скрытой кнопки

jQuery("#dialog").dialog({ 
     buttons: { 
      'ButtonText': function() { 
       //save the session 
      __doPostBack('<%# HiddenButton.ClientID %>', '') 
       jQuery(this).dialog('close'); 
      } 
     } 
    }); 

и добавить обработчик жерех щелчок на скрытой кнопка

<div style="display:none;"> 
    <asp:Button ID="HiddenButton" OnClick="HiddenButton_Click" ></Button> 
<div> 

Нажмите на событии ServerSide срабатывает, когда кнопка нажата диалоговое

Надеются, что это помогает мне использовать этот шаблон все время

0

Я подозреваю, что это может быть связано с тем, что ASP.NET не может найти кнопку в форме.

Используйте .live настройки событий в JQuery - связать это событие, прежде чем создать диалог, используя .live и он должен работать ...

Live events in jQuery

Вы будете в конечном итоге с чем-то вроде этого в вашей document.ready функция:


$("#btn").live("click", function(){ 
    // Do something 
}); 


$("#dialog").dialog({ 
    ... 
} 
0

У меня была та же проблема. Я закончил тем, что вытащил кнопку из диалога, скрывая ее с помощью css, а затем вызывая ее из события закрытия в диалоговом окне (я собираюсь сделать это более подробно позже, но это, по крайней мере, иллюстрирует проблему).

Смежные вопросы