2016-04-19 3 views
-2

У меня есть DataList, который выглядит следующим образом:Сделать код на сервере, который будет включать информацию из нажатого div?

<div> 
    <asp:DataList ID="DataListDiv" runat="server" RepeatColumns="5"> 
     <ItemTemplate> 
     <div style="padding: 8px"> 
      <div style='width:195px;height:162px; background-image:url(<%# Eval("image_path","Styles/Images/{0}") %>)'> 
       <div style="width: 195px; height: 22px;"> 
        <asp:Label ID="Label2" runat="server" Text='<%# Eval("CookName")%>'></asp:Label> 
       </div> 
       <div style="width: 195px; height: 22px;"> 
        <asp:Label ID="Label3" runat="server" Text='<%# Eval("WaiterName")%>' ></asp:Label> 
       </div> 
      </div> 
     </div> 
     </ItemTemplate> 
    </asp:DataList> 
</div> 

Это выглядит здорово. Но теперь мне нужно щелкнуть по div, чтобы произошло событие (например, щелчок) и серверный код. Все без изменения внешнего вида div. По сути, нажатие внутри div вызовет некоторый обработчик событий, и этот обработчик событий будет иметь информацию о div, на который я нажал.

Так, например, datalist показывает, что один div имеет CookName как Джо и WaiterName в Марк. Когда этот div будет нажат, будет выполняться код на стороне сервера, и я буду в тот момент, что Joe & Mark являются двумя сотрудниками этого подразделения.

Возможно ли это? Я искал, но я не нашел ничего, что могло бы помочь.

Любая помощь приветствуется.

Спасибо.

ответ

1
<div onclick="yourjavascriptfunction"> 
.... 
</div> 

Оттуда вам понадобится функция JavaScript, чтобы вызвать код на стороне сервера и соответствующим образом обработать ответ.

+0

Но мог бы я узнать, на какой div я нажал? Можете ли вы привести пример того, как будет выглядеть функция javascript, которая вызывает серверный код? Благодарю. – rbhat

0

Если вы можете использовать JQuery, вы можете сделать вызов AJAX, как это:

$("div").click(function() { 
    $.ajax({ 
     url: '/myserversidescript', 
     success: function(msg, status, xhr) { 
      //do something 
     }, 
     error: function() { 
     //do Something 
     } 
    }); 
}); 

Если вы не хотите использовать JQuery, вы также можете сделать это с нормальным JavaScript: AJAX call with JavaScript

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

  • Нет связанных вопросов^_^