2015-10-23 2 views
1

обновление сэр anmarti привет сэр спасибо за ответы на мои вопросы я добавить этот кодКак вызвать функцию javascript при нажатии кнопки внутри таблицы html?

Page_Load

string eventTarget = this.Request["__EVENTTARGET"]; 
     if (eventTarget == "DeleteRecord") 
     { 
      Label1.Text = "Method called!!!"; 
      // Delete your record here 
     }else 
     { 
      Label1.Text = "No method"; 
     } 

на странице загрузки (запуска времени) label1 изменить его текст «Нет метода»

затем я нажал на кнопку, то появится всплывающее приходит в. я выбрал кнопку YES, но ничего не случилось это даже не закрыть всплывающее

для того, чтобы проверьте, работает ли javascript правильно, я изменил этот код
__doPostBack ("УдалитьRecord", ''); - $ ("[id * = btnadd]"). Click();

и после нажатия кнопки да всплывающих он нажал на кнопку BTNADD

мой вопрос сэр почему делать __doPostBack («DeleteRecord», «»); не работает на меня? я даже попробовал некоторые размещены учебники в Интернете, но его все тот же


Это Javascript функция:

<script type="text/javascript"> 
    $(function() { 
     //$("[id*=btnDelete]").removeAttr("onclick"); 
     $("[id*=btnDelete]").removeAttr("onclick"); 
     $("#dialog").dialog({ 
      modal: true, 
      autoOpen: false, 
      title: "Confirmation", 
      width: 350, 
      height: 160, 
      buttons: [ 
      { 
       id: "Yes", 
       text: "Yes", 
       click: function() { 
        $("[id*=btnDelete]").attr("rel", "delete"); 
        $("[id*=btnDelete]").click(); 
       } 
      }, 
      { 
       id: "No", 
       text: "No", 
       click: function() { 
        $(this).dialog('close'); 
       } 
      } 
      ] 
     }); 
     $("[id*=btnDelete]").click(function() { 
      if ($(this).attr("rel") != "delete") { 
       $('#dialog').dialog('open'); 
       return false; 
      } else { 
       __doPostBack(this.name, ''); 
      } 
     }); 
    }); 
</script> 

Вот код позади

protected void DeleteRecord(object sender, EventArgs e) 
    { 
     ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert('Record Deleted.')", true); 
    } 

код Html

<asp:Button ID="btnDelete" runat="server" Text="Delete" OnClick="DeleteRecord" UseSubmitBehavior="false" /> 
    <div id="dialog" style="display: none"> 
     Do you want to delete this record? 
    </div> 

it wo RKS отлично

но, как я вызвать функцию внутри HTML таблицы

<tr> 
    <td> 
     <%# DataBinder.Eval(Container.DataItem, "signatoryid") %> 
    </td> 
    <td> 
     <%# DataBinder.Eval(Container.DataItem, "signatoryname") %> 
    </td> 
    <td> 
     <%# DataBinder.Eval(Container.DataItem, "signatoryPosition") %> 
    </td> 
    <td> 
     <%# DataBinder.Eval(Container.DataItem, "signatoryOffice") %> 
    </td> 
    <td> 
     <button type="button" class="btndelete btn btn-xs btn-danger" OnClick="DeleteRecord"> 
     <span class="glyphicon glyphicon-trash" aria-hidden="true"></span>Delete 
     </button> 
    </td> 
</tr>   
+0

См этот ответ : http://stackoverflow.com/questions/1947263/using-an-html-button-to-call-a-javascript-function – Anoxy

ответ

1

стороне клиента

Создайте функцию, которая открывает диалоговое окно и вызвать его в onClick событие:

<button type="button" class="btndelete btn btn-xs btn-danger" OnClick="javascript:deleteRecord();"> 
    <span class="glyphicon glyphicon-trash" aria-hidden="true"></span>Delete 
    </button> 


<script> 
    $(function() { 
    $("#dialog").dialog({ 
     modal: true, 
     autoOpen: false, 
     title: "Confirmation", 
     width: 350, 
     height: 160, 
     buttons: [ 
     { 
      id: "Yes", 
      text: "Yes", 
      click: function() { 
       __doPostBack("DeleteRecord", ''); 
      } 
     }, 
     { 
      id: "No", 
      text: "No", 
      click: function() { 
       $(this).dialog('close'); 
       return false; 
      } 
     } 
     ] 
    }); 
}); 

    function deleteRecord(){ 
     $("#dialog").dialog('open'); 
    } 
</script> 

Код сервера

Если вы делаете ручной __doPostback() вы должны извлечь EventTarget и EventArguments (если есть) на Page_Load() или Page_Init(), если вы предпочитаете, обработчики событий текущей страницы:

protected void Page_Load(object sender, EventArgs e) 
    { 
     string eventTarget = this.Request["__EVENTTARGET"]; 
     if(eventTarget == "DeleteRecord") 
     { 

     // Delete your record here 
     } 

    } 
+0

спасибо, что он работает, но я не понимаю код на стороне сервера, который вы опубликовали вы можете дать мне пример кода сэр, который вызывает код позади функции при нажатии кнопки «Да». спасибо – knowmeifyou

+0

'__doPostBack (" DeleteRecord ", '');' должен попадать в обработчик событий 'Page_Load()'. – anmarti

+0

вы можете объяснить сэр? код. я действительно этого не понимаю. или вы можете дать мне ключевое слово, чтобы найти меня для чтения? лучше понять код?спасибо – knowmeifyou

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