UpdatePanel打破JQuery脚本的数据列表

UpdatePanel Breaks JQuery Script on datalist

本文关键字:数据 列表 脚本 打破 JQuery UpdatePanel      更新时间:2023-09-26

我有一个更新面板,在更新面板中我有一个数据列表。

在数据列表中,我有多个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>

我写了一个jQuery代码,当一个人点击cart.gif时运行jQuery

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

在数据学家jquery的第一页运行良好,一切都是ok的。

但在第二页,当我点击cart.gif pic jQuery不运行。

请帮我修理一下

感谢编辑:我写下一个按钮和上一个按钮点击在这里
   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;
        }
    }

谢谢你的朋友
我编辑html文件

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

和编辑jquery文件

function BindEvents() {
//my jquery codes
}

快乐

当你转到下一页的数据列表的onclick事件得到解除绑定作为更新面板刷新div内的内容。所以onclick事件必须再次添加以获得预期的结果。在你的数据绑定代码下面的cs页面尝试下面的操作。

ScriptManager.RegisterClientScriptBlock(id of update panel, 
                    typeof(UpdatePanel), "string", 
                    "$(function () {$('.prod_details_sell a img').click(function () {
                   //some code is here
                   });)", true);

把这个替换成

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


用这个:

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