ASP.NET Web表单:AutoPaost的UpdatePanel no-js后备?

时间:2017-03-07 22:27:52

标签: asp.net ajax updatepanel autopostback

我有一个UpdatePanel我已经决定试用了,我认为当javascript关闭时,所有的行为都会由asp.net机制处理。其中一个行为是在更改下拉列表或复选框时进行一些UI更改。这些更改会显示表单的某些部分或更改某些<asp:Label>控件的文本。启用JS后,复选框上的AutoPostback="true"属性会使其更改事件更新表单,就像它需要的那样。然而,当JS没有启用时,它什么都不做 - 我希望它恢复它在我开始使用UpdatePanel之前的那种行为 - 这是每次使用更新的服务器刷新页面数据。是否可以对UpdatePanel属性进行任何调整以实现这种后备解决方案?

(不,这不是对手头工作的真正要求,但我预计asp.net的服务器控件会首先自动解决这类问题,所以我想知道是否有某种方式。)

1 个答案:

答案 0 :(得分:1)

禁用JavaScript时ASP.net autopostback属性和功能无效的原因是它实际上利用JavaScript代码来执行其功能。 具体来说,它生成以下JavaScript代码:

一个。名为

的Java脚本方法
__doPostBack (eventtarget, eventargument)

湾两个名为__EVENTTARGET

的隐藏变量
__EVENTARGUMENT

℃。 OnChange控件的JavaScript事件

如果您使用浏览器的调试器并搜索它们,您将看到它们的实现方式。 这是一个很好的资源,进一步详细说明: http://www.dotnetspider.com/resources/189-AutoPostBack-What-How-works.aspx

回发基本上重新提交页面请求,但保留视图状态更新面板控制哪些部分更新。

要回答您的问题,如果没有启用Javascript

,则无法实现AJAX类型功能