__eventtarget设置为ScriptManager id

时间:2009-07-19 00:11:37

标签: asp.net ajax asp.net-ajax

我在页面上有多个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.但是,我无法重现它。有没有人提示是什么原因导致我们客户的浏览器回发这些值?

2 个答案:

答案 0 :(得分:0)

您是否尝试将updatepanel的updatemode设置为“conditional”?我认为这可以解决你的问题。

此处提供更多信息:http://codeclimber.net.nz/archive/2007/05/24/updatemode-default-value-for-the-updatepanel-is-always.aspx

答案 1 :(得分:0)

ASP.NET AJAX历史记录状态会导致此类请求。当客户端使用我们的Web应用程序时,我们使用ScriptManager上的EnableHistory =“true”跟踪部分页面更新。如果客户端在其浏览器中单击后退按钮,则ScriptManager会启动异步请求,并将其自身用作EventTarget。