为动态创建的asp控件添加Jquery事件

时间:2016-02-17 13:29:33

标签: javascript jquery asp.net

在我的项目中,基于数据库值在页面加载时创建动态控件。现在我需要在asp:label中为jquery添加点击事件,所以我尝试了这样。

ASP.NET

        xShowVersion.Style(HtmlTextWriterStyle.Top) = xTop & "px"
        xShowVersion.Style.Add(HtmlTextWriterStyle.Height, "40px")
        xShowVersion.Style.Add(HtmlTextWriterStyle.Width, "480px")
        xShowVersion.Style.Add(HtmlTextWriterStyle.Position, "absolute")
        xShowVersion.Style.Add(HtmlTextWriterStyle.Left, "20px")
        Dim xlblShow As New Label
        xlblShow.Attributes("class") = "downlnkdetails"
        xlblShow.Text = "<h2>Show Older Versions<h2>"
        xShowVersion.Controls.Add(xlblShow)
        DivLeftVersion.Controls.Add(xShowVersion)

JS

        <script language="javascript" type="text/javascript">

                  $(document).ready(function() {

                  BindButtonClickEvent();

                  });
                  function BindButtonClickEvent() {
                      $('#<%= xlblShow.ClientID %>').click(function() {

                          alert('Hai');
                          return false;
                      });
                  }   
              </script>

但它的显示错误。如何为jquery中的asp标签或任何其他控件编写事件?

am使用 Asp.Net 2008

2 个答案:

答案 0 :(得分:1)

对于动态添加的内容,您需要在代码段下方使用

$(document).on('click', '#ID' , function(e){
      alert('clicked');
});

答案 1 :(得分:0)

这样做的一个简单方法是创建一个jQuery事件处理程序,它可以连接到添加到DOM的任何未来元素:

$( document ).on( "click", "h2", function() {
   alert( "Button Clicked!" )
});

您可以在jQuery.on()文档中详细了解相关内容。第二个参数是标准的jQuery选择器,因此可以通过classidelement type等进行定位。