我在页面上有多个UpdatePanel,每个都由一些昂贵的控件填充。在异步回发上,所有UpdatePanel都被初始化,但只有更新UpdatePanel被发送到客户端。现在我想初始化实际需要更新的UpdatePanel。
http://ryanfarley.com/blog/archive/2005/03/11/1886.aspx建议解码__EVENTTARGET
参数以找到导致回发的控件。 forums.asp.net/p/1385862/2947336.aspx建议解码与ScriptManager唯一ID对应的Request.Form值。两者似乎都很好。但是,我们的生产系统(IIS 6,.NET 3.5)经常报告将__EVENTTARGET
设置为ScriptManager的唯一ID( MyScriptManager )的请求。在这些情况下,ScriptManager参数也会解码为 MyScriptManager | MyScriptManager ,而不是 UpdatePanelId | EventTargetId 。
已经观察到Firefox 3.0和3.5以及IE 6,7和8.但是,我无法重现它。有没有人提示是什么原因导致我们客户的浏览器回发这些值?
答案 0 :(得分:0)
您是否尝试将updatepanel的updatemode设置为“conditional”?我认为这可以解决你的问题。
答案 1 :(得分:0)
ASP.NET AJAX历史记录状态会导致此类请求。当客户端使用我们的Web应用程序时,我们使用ScriptManager上的EnableHistory =“true”跟踪部分页面更新。如果客户端在其浏览器中单击后退按钮,则ScriptManager会启动异步请求,并将其自身用作EventTarget。