在我的javascript中,我有以下一行:
__doPostBack('MyPanel', MyParam);
在我的代码中,我使用MyParam查询数据库并将结果绑定到MyPanel更新面板内的gridview。 updatepanel的updatemode设置为条件,并且在我的代码的回发部分MyPanel.Update();
当我进行排序和分页时,updatepanel正常工作;只有面板刷新。但是,当我使用我的javascript触发updatepanel时,我看到firebug中的流量显示整个页面正在刷新。
解决方案是什么?
感谢。
答案 0 :(得分:16)
我的更新:您的更新面板位于命名容器内,因此客户端的ID与服务器端ID略有不同。这意味着您将错误的__EVENTTARGET
参数传递给客户端side __doPostBack
函数,并且您的部分回发变满(意味着不是异步)。
将您的客户端代码更改为:
__doPostBack('<%= MyPanel.ClientID %>', MyParam);
应该解决问题。
顺便说一句,您可以从服务器端获取第二个(代码中为MyParam
)参数:
var arg = Request.Params.Get("__EVENTARGUMENT");