2016-06-09 3 views
0

Это, как я добавить данные в мой повторитель:кнопка Link не срабатывает нажмите событие, но вызывает модальное

<asp:Repeater ID="rptNotification" runat="server"> 
    <HeaderTemplate> 
     <table class="table table-hover"> 
      <tr> 
      <th>Code</th> 
      <th>Description</th> 
      <th>Name</th> 
      <th>Action</th> 
      </tr> 

    </HeaderTemplate> 
    <ItemTemplate> 
     <tr> 
      <td><asp:Label ID="lblCode" runat="server" Text='<%#Eval("[Group Code]") %>'></asp:Label></td> 
      <td><asp:Label ID="lblDescription" runat="server" Text='<%#Eval("[Description]") %>'></asp:Label></td> 
      <td><asp:Label ID="lblName" runat="server" Text='<%#Eval("[Professor]") %>'></asp:Label></td> 
      <td><asp:LinkButton ID="lbtnEye" CommandArgument='<%#Eval("[ID]") %>' runat="server" CssClass="btn btn-primary btn-xs" OnClick="lbtnEye_Click" data-toggle="modal" data-target="#myModal"><i class="fa fa-eye"></i></asp:LinkButton> 
               <!-- <asp:PlaceHolder ID="PlaceHolder2" runat="server"></asp:PlaceHolder> --> 
     </td> 
     </tr> 
     </ItemTemplate> 
     <FooterTemplate> 
     </table> 
     </FooterTemplate> 
     </asp:Repeater> 

Так как вы можете увидеть LinkButton добавляются динамически, у меня есть код внутри lbtnEye_Click события, но он не попадает в событие click (я поставил точку останова на нем), но он запускает модальный. Что не так с моим кодом?

ответ

1

Я думаю, что нужно добавить, OnItemCommand как

<asp:Repeater ID="rptNotification" runat="server" OnItemCommand="rptNotification_ItemCommand"> 

Добавить CommandName в LinkButton

<asp:LinkButton ID="lbtnEye" CommandName="EyeClicked" CommandArgument='<%#Eval("[ID]") %>' runat="server" CssClass="btn btn-primary btn-xs" OnClick="lbtnEye_Click" data-toggle="modal" data-target="#myModal"><i class="fa fa-eye"></i></asp:LinkButton> 

код за

protected void rptNotification_ItemCommand(object source, RepeaterCommandEventArgs e) 
{ 

    if (e.CommandName == "EyeClicked") // check command 
    { 

     //Your code 
    } 

} 
+0

Дополнительный вопрос, почему я не могу получить доступ к ID внутри ретранслятора? –

+0

по-прежнему не ударил: '( –

+0

, но когда я удаляю данные и переключается на цель данных, ПОЧЕМУ ПОЧЕМУ ПОЧЕМУ –

1

C# щелчок событие не срабатывает, потому что это является подавлено javascript. Чтобы убедиться, что и модальный отображается, и событие щелчка на стороне сервера get, вам нужно изменить способ отображения всплывающего окна - вы должны динамически вызывать всплывающее окно из javascript. Как это:

  1. Изменить кнопку ссылки, чтобы быть как это:

    <asp:LinkButton ID="lbtnEye" CommandArgument='<%#Eval("ID") %>' 
        runat="server" 
        CssClass="btn btn-primary btn-xs" 
        OnClientClick="showPopup()" 
        OnClick="lbtnEye_Click"> 
        <i class="fa fa-eye"> 
         Click me... 
        </i> 
    </asp:LinkButton> 
    
  2. Добавить это в верхней части страницы:

Javascript и библиотека ссылки:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.3/jquery.min.js"></script> 
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script> 
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" /> 

<script type="text/javascript"> 
    $(function() { 
     showPopup = function() { 
      debugger; 
      $("#myModal").modal('show'); 
      return true; 
     } 
    }); 
</script> 
Смежные вопросы