更新面板中的按钮是否正在完整回发?

我正在关注如何使用此处的更新面板的简单示例( http://www.asp.net/Ajax/Documentation/Live/tutorials/IntroductionUpdatePanel.aspx )。 在更新面板之外,我有另一个html输入控件,它调用一个javascript函数,在一个警告框中向用户显示一个计数。 简单的东西。 我的问题是,在IIS和内置的asp.net Web服务器(cassini)上运行时,页面的行为会有所不同。 在IIS下单击更新面板中的按钮会导致完整的回发,因此每次都会在js函数中显示给用户的计数。 在内置的Web服务器下点击更新面板内的按钮表现我的期望和我想要的方式,它只刷新标签,以便客户端的计数器不重置。

.net 3.5是目标框架,我正在运行IIS 5.1。

我见过其他地方的post描述了同样的问题( http://forums.asp.net/t/1169282.aspx )

  Untitled Page  var count=0; function incrementCounter() { count ++; alert(count); }    

更新:

感谢Crossbrowser的回答。 我的回复将在“添加评论”窗口中占用更多空间。 好的,所以按照这个简单的例子( http://www.asp.net/Ajax/Documentation/Live/tutorials/IntroductionUpdatePanel.aspx )你可以看到更新模式没有设置为条件所以我已经反映了这些变化。 但是我的问题仍然存在。 也就是说,在IIS上运行时页面会导致完整的回发。 即你浏览器中的进度条加载,屏幕闪烁,我维护的客户端计数丢失。 在内置的asp.net webserver上运行代码不会。 这是我的问题的关键。 我其他人遇到过这个问题( http://forums.asp.net/t/1169282.aspx )。

所以我的问题是,与内置的asp.net相比,在IIS上运行时会有什么不同?

更新的代码:

   Untitled Page  var count=0; function incrementCounter() { count ++; alert(count); }    

由于您使用的是.NET Framework 3.5,我将假设您使用的是Visual Studio 2008,并且您说您的目标是IIS 5.1用于生产平台。

作为Visual Studio 2008一部分的本地Web服务器基于IIS 6/7体系结构,而不是IIS 5.因此,回答您关于IIS与本地Web服务器的不同之处的问题…不幸的是,在此你要混合苹果和橘子。

您是否仅限于IIS 5.1?…即客户授权或其他原因。 如果您不是,并且您正在使用Visual Studio 2008(.NET Framework 3.5)进行开发,那么您确实应该使用IIS7(或至少6个),因为您很可能没有遇到此问题。

同样,IIS7可能不适合您。

你尝试过使用触发器吗? 例如

          

由于UpdatePanel的UpdateMode设置为条件,因此您必须指定触发器。

或者,您可以将属性ChildrenAsTriggers定义为true

UpdatePanel.UpdateMode引用

在IIS管理器中,检查站点的“页面和控件”设置。 具体来说,是“查看状态和设置”部分。 这些看起来可能会影响您的页面与服务器的交互方式以及何时。

您是否尝试使用元素而不是HTML 元素?