Javascript UpdatePanel中断datalist上的JQuery脚本
我有一个更新面板,在更新面板中我有一个数据列表 在数据列表中,我有多个divJavascript UpdatePanel中断datalist上的JQuery脚本,javascript,jquery,asp.net,updatepanel,datalist,Javascript,Jquery,Asp.net,Updatepanel,Datalist,我有一个更新面板,在更新面板中我有一个数据列表 在数据列表中,我有多个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/car
<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>
在datalist的第一页,jquery运行良好,一切正常
但是在第二页,当我点击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;
}
}
当您转到数据列表的下一页时,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
});
}
谢谢朋友们我编辑html文件
<ContentTemplate>
<script type="text/javascript">
Sys.Application.add_load(BindEvents);
</script>
.
.
.
很高兴谢谢,我的jquery代码太长了,用你的方式我不得不在cs文件上写很长的jquery代码谢谢,我的jquery代码太长了,用你的方式我不得不在cs文件上写很长的jquery代码,我也测试了你的代码,但不起作用!!只需编写一个函数,并在dom就绪后调用它,您不必编写两次长代码。你能展示一下cs代码吗?分页是如何实现的?如果你还需要什么,请告诉我。谢谢你的帮助谢谢你的回答。我在jquery文件中替换了它,jquery不工作(在第一页和其他页)。然后根据pmtamal响应,Sys.Application.add_load(initJavaScripts)写入cs文件,但出现语法错误。
<ContentTemplate>
<script type="text/javascript">
Sys.Application.add_load(BindEvents);
</script>
.
.
.
function BindEvents() {
//my jquery codes
}