Search code examples
javascriptjqueryasp.netupdatepaneldatalist

UpdatePanel Breaks JQuery Script on datalist


I have an update panel and inside the update panel I have a datalist.

On the datalist I have multi div

<div class="prod_details_tab">
    <div class="prod_details_sell">
        <a href="Handler.ashx?action=addToBasket&productID=4" onclick="return false;">
            <img src="images/cart.gif" alt='<%#String.Format("{0}", Eval("k_name1")) %>'
                width="16" height="16" id='<%#String.Format("{0}", Eval("k_name1")) %>'
                class="left_IB" />
        </a>
    </div>
</div>

I write a jQuery code that when a person click on cart.gif pic run the jQuery

 $(".prod_details_sell a img").click(function () {
        //some code is here
});

On the first page of datalist jquery run good and all thing is ok.

But on the second page when I click on cart.gif pic jQuery does not run.

Please help me to fix it

Thanks

Edit: I write next button and prev button click in here

   protected void cmdNext_Click(object sender, EventArgs e)
   {
        // Set viewstate variable to the previous page
        CurrentPage += 1;

        PagedDataSource pagedDS = new PagedDataSource();
        pagedDS.DataSource = ((DataTable)Cache["DataTable-cach"]).DefaultView;// cacheItem.DefaultView;
        pagedDS.AllowPaging = true;
        pagedDS.PageSize = 6;
        pagedDS.CurrentPageIndex = CurrentPage;

        dlPaging.DataSource = pagedDS;
        dlPaging.DataBind();

        // Disable Prev or Next buttons if necessary
        cmdPrev.Enabled = !pagedDS.IsFirstPage;
        cmdNext.Enabled = !pagedDS.IsLastPage;
    }

   protected void cmdPrev_Click(object sender, EventArgs e)
    {
        // Set viewstate variable to the previous page
        CurrentPage -= 1;
            PagedDataSource pagedDS = new PagedDataSource();
            pagedDS.DataSource = ((DataTable)Cache["DataTable-cach"]).DefaultView;// cacheItem.DefaultView;
            pagedDS.AllowPaging = true;
            pagedDS.PageSize = 6;
            pagedDS.CurrentPageIndex = CurrentPage;
            dlPaging.DataSource = pagedDS;
            dlPaging.DataBind();
            lblCurrentPage.Text = pagedDS.PageCount.ToString() + " صفحه    " + (CurrentPage + 1).ToString() + " از ";
            // Disable Prev or Next buttons if necessary
            cmdPrev.Enabled = !pagedDS.IsFirstPage;
            cmdNext.Enabled = !pagedDS.IsLastPage;

    }
     public int CurrentPage
    {
        get
        {
            // look for current page in ViewState
            object o = this.ViewState["_CurrentPage"];
            if (o == null)
                return 0; // default page index of 0
            else
                return (int)o;
        }

        set
        {
            this.ViewState["_CurrentPage"] = value;
        }
    }

Solution

  • thank you friends
    I edit html file

     <ContentTemplate>
                  <script type="text/javascript">
                      Sys.Application.add_load(BindEvents);
                   </script>
                   .
                   .
                   .
    

    and edit my jquery file

    function BindEvents() {
    //my jquery codes
    }
    

    Be Happy