首页 新闻 搜索 专区 学院

JQuery $.post 异步操作执行的时候为什么会刷新后台页面?

0
悬赏园豆:5 [待解决问题]

一个asp.net 的页面, 其中点击树节点会调用JQUERY的$.post 异步操作方法,并且在旁边显示查询的结果数据列表。

问题是每次调用这个异步操作方法的同时, 还会重新执行下asp.net后台页的page_load 事件,加了if (!IsPostBack)还是会执行。

这样每次调用异步操作都会再执行一次后台代码,这样的话就会出现效率问题,请问园子里面的大侠们,这是什么情况?如何解决咧 ?本人对JQuery 异步页面的机制不是太熟悉,所以求教。

 

//异步获取数据
    $.post("jsErp.asmx",

 { pid: PID, fclasstype: ItemID, wsql: WhereSql, recount: Recount},
      function (text) { $("#GridView1").html(text); });

 

//页面后台执行

if(!IsPostBack)

{

  Response.Write("这个里面本来是第一次加载执行的, 可是现在每执行一次异步操作都会执行一次。求解???");

}

问题补充:

刚又看了下, 点击treeview上的节点时不会刷新的。就首次加载时, 在后台调用这个异步操作时会刷新

 ClientScript.RegisterClientScriptBlock(this.GetType(), "initJS1", "<script> $(document).ready(function () {LoadTableData(" + Q + "," + FClassType + "," + FClassType + ",'" + url + "',50);});</script>");

用心创造精彩每一天的主页 用心创造精彩每一天 | 初学一级 | 园豆:175
提问于:2013-01-24 14:28
< >
分享
所有回答(7)
0

你的树应该是服务器控件吧,服务器控件每次点击肯定会刷新的

Rich.T | 园豆:3440 (老鸟四级) | 2013-01-24 14:33

对。仔细看看msdn关于treeview控件的描叙

支持(0) 反对(0) arg | 园豆:1047 (小虾三级) | 2013-01-25 11:48
0

你把问题化简一下,例如只在后台取一个字符串,你试试效果。

先别绑定到gridview上。

我怀疑是你的gridview有问题,是服务器控件吗?

woodynet | 园豆:4 (初学一级) | 2013-01-24 14:45
0

不应该啊,你确定不是其他的调用让后台页面刷新的吗?

jerry-Tom | 园豆:4077 (老鸟四级) | 2013-01-24 14:47

刚又看了下, 点击treeview上的节点时不会刷新的。就首次加载时, 在后台调用这个异步操作时会刷新

 ClientScript.RegisterClientScriptBlock(this.GetType(), "initJS1", "<script> $(document).ready(function () {LoadTableData(" + Q + "," + FClassType + "," + FClassType + ",'" + url + "',50);});</script>");

0

一般通过ajax获取后台的信息,后台页面没有修改,会获取浏览器中该页面以前的缓存,

修改的话会后台页面会再次执行

一般把该页面的输出放在服务器中的cache中,让浏览器读取服务器中的缓存

hongdada | 园豆:216 (菜鸟二级) | 2013-01-24 15:14
0

把ajax请求的页面和当前的页面分开,就添加一张空的aspx页面专门做ajax请求处理就不会影响

骷髅人 | 园豆:464 (菜鸟二级) | 2013-01-24 17:49

这个已经分开了, 我专门建立 了一个页面

jsErp.asmx

处理ajx请求的.

就第一次自动加载异步方法时会调用两次方法

0

把后台程序放在一般处理页中解决

隔壁王叔 | 园豆:4 (初学一级) | 2013-01-24 23:17
0

程序页面套用了母板页,调用了自定义控件,每次页面正常加载时都会执行两次page_load 事件,加 IsPostBack也会。页面的AutoEventWireup设置成flase就不会执行。可能是自定义控件问题,目前暂未找到解决方案。

用心创造精彩每一天 | 园豆:175 (初学一级) | 2013-03-12 17:08
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册