#jquery #asp.net #webforms
#jquery #asp.net #веб-формы
Вопрос:
У меня есть пользовательский элемент управления. Это противопоказано LinkButton. Я хочу прикрепить событие click к LinkButton с помощью jquery.
<%@ Control AutoEventWireup="true" CodeBehind="Pager.ascx.cs" EnableViewState="true" Inherits="Web.Controls.Pager" Language="C#" ViewStateMode="Enabled" %>
<script type="text/javascript">
$(function () {
eval($('#LinkButtonFirst').attr('href')).bind('click',
function () {
alert('fsfsf');
});
});
</script>
<asp:LinkButton ID="LinkButtonFirst" runat="server" OnClick="LinkButtonFirst_Click" />
Первая ошибка, с которой я столкнулся, Cannot call method 'bind' of undefined
.
Но на главной странице уже есть ссылка на jquery
<script src="/Scripts/jquery/jquery-1.5.1.min.js" type="text/javascript"></script>
Ответ №1:
попробуйте это
$('#<%=LinkButtonObj.ClientID%>').click(function() {
alert('Handler for .click() called.');
});
Ответ №2:
$(function () {
$('#<%= LinkButtonFirst.ClientID %>').bind('click',
function () {
alert('fsfsf');
});
});
Ответ №3:
Используйте ClientID
свойство LinkButton
. Идентификаторы элементов управления в пользовательских элементах управления вычисляются не как ODS элементов управления на странице. Итак, вы должны использовать код:
<%@ Control AutoEventWireup="true" CodeBehind="Pager.ascx.cs" EnableViewState="true" Inherits="Web.Controls.Pager" Language="C#" ViewStateMode="Enabled" %>
<script type="text/javascript">
$(function () {
eval($('#<%= LinkButtonFirst.ClientID %>').attr('href')).bind('click',
function () {
alert('fsfsf');
});
});
</script>
<asp:LinkButton ID="LinkButtonFirst" runat="server" OnClick="LinkButtonFirst_Click" />
Ответ №4:
Начиная с jQuery 1.8.0 .live
и .bind
, они устарели. попробуйте использовать .on
для прикрепления любого события. Это гарантирует, что событие будет прикреплено, когда элемент доступен
$(function () {
$('[id*=LinkButtonFirst]').on('click',function () {
alert(' Link Button was Clicked !!');
});
});