2012-05-16 2 views
0

Я использую ретранслятор для отображения строк данных. Каждая строка имеет кнопку удаления изображения. Я хотел бы добавить диалог подтверждения с помощью jQuery UI. Диалоговое окно отображается правильно, когда нажата кнопка «Удалить изображение». Я не уверен в том, как вызвать обработчик события для кнопки «Изображение» из jQuery, когда в диалоговом окне нажата кнопка «ОК».Кнопка ASP.Net Image Удалить подтверждение с помощью jQuery UI Dialog

ответ

0

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

yourbutton.Attributes.Add("onclick","Deletbox('" + yourDeleteID + "'))"; 

Javascript функция:

var deleteId;//this the global variable to hold the value 


function Deletebox(ID) 
{ 
    ("#YourDialog").data('DeleteID',ID).dialog('open'); 
} 

это для DialogBox инициализаторе

 $("#YourDialog").dialog({ 
        modal: true, //this will make a modal form 
           open:function() 
           { 
             deleteId=$(this).data('DeleteID'); 
           }, 
        buttons: { // this is the buttons which you are going to show in box 
         "Delete all items": function() { 
          CallYourdeletionMethodFromServer(deleteId)// by using $.Ajax function 
         }, 
         Cancel: function() { 
          $(this).dialog("close"); 
         } 
        } 
       }); 
+0

У меня есть обработчик событий repeater_ItemCommand проволока вверх, который получает идентификатор для удаления из CommandArgument, а затем вызывает метод, чтобы удалить запись. Как я могу вызвать этот обработчик событий непосредственно из jQuery. – user917179

+0

вы можете передать идентификатор в диалоговом окне, я обновлю ответ. –

+0

@ user917179 проверить я обновил ответ –

0

Вы можете вызвать __doPostBack функцию в вашем OK обработчике нажатия кнопки. Вам нужно будет сохранить идентификатор кнопки, которая была первоначально нажата, чтобы открыть диалог и передать это как первый аргумент.

0
<div class="Parent"> 
     <div> 
      test1 
     </div> 
     <div> 
      <input type="button" value="Delete" onclick="Deletemessage(1,this);" /> 
     </div> 
    </div> 
    <div class="Parent"> 
     <div> 
      test2 
     </div> 
     <div> 
      <input type="button" value="Delete" onclick="Deletemessage(1,this);" /> 
     </div> 
    </div> 


function Deletemessage(id, obj) { 
      $('<div></div>').appendTo('body') 
        .html('<div><h6>Are you want to delete this part?</h6></div>') 
        .dialog({ 
         modal: true, title: 'Delete message', zIndex: 10000, autoOpen: true, 
         width: 'auto', modal: true, resizable: false, 
         buttons: { 
          Ok: function() { 
           $(obj).removeAttr('onclick'); 

           //        $.ajax({ 
           //         url: '/yourPath', type: 'Post', dataType: 'json', 
           //         data: { 'id': id }, 
           //         success: function (data) { 
           $(obj).parents('.Parent').remove(); 

           //Or 

           //window.location.reload(); 

           //         } 
           //        }); 

           $(this).dialog("close"); 
          }, 
          Cancel: function() { 
           $(this).dialog("close"); 
          } 
         }, 
         close: function (event, ui) { 
          $(this).remove(); 
         } 
        }); 
     };   

для живой демонстрации смотрите по этой ссылке: http://jsfiddle.net/nanoquantumtech/9NKXq/

+0

Функция Deletemessage (id, name, obj) -> Deletemessage (1, 'test name', this); – Thulasiram