更新面板中的按钮是否正在完整回发?
我正在关注如何使用此处的更新面板的简单示例( https://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描述了同样的问题( https://forums.asp.net/t/1169282.aspx )
Untitled Page var count=0; function incrementCounter() { count ++; alert(count); }
更新:
感谢Crossbrowser的回答。 我的回复将在“添加评论”窗口中占用更多空间。 好的,所以按照这个简单的例子( https://www.asp.net/Ajax/Documentation/Live/tutorials/IntroductionUpdatePanel.aspx )你可以看到更新模式没有设置为条件所以我已经反映了这些变化。 但是我的问题仍然存在。 也就是说,在IIS上运行时页面会导致完整的回发。 即你浏览器中的进度条加载,屏幕闪烁,我维护的客户端计数丢失。 在内置的asp.net webserver上运行代码不会。 这是我的问题的关键。 我其他人遇到过这个问题( https://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 元素?
上述就是C#学习教程:更新面板中的按钮是否正在完整回发?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1011916.html