我有一个UpdatePanel
我已经决定试用了,我认为当javascript关闭时,所有的行为都会由asp.net机制处理。其中一个行为是在更改下拉列表或复选框时进行一些UI更改。这些更改会显示表单的某些部分或更改某些<asp:Label>
控件的文本。启用JS后,复选框上的AutoPostback="true"
属性会使其更改事件更新表单,就像它需要的那样。然而,当JS没有启用时,它什么都不做 - 我希望它恢复它在我开始使用UpdatePanel
之前的那种行为 - 这是每次使用更新的服务器刷新页面数据。是否可以对UpdatePanel
属性进行任何调整以实现这种后备解决方案?
(不,这不是对手头工作的真正要求,但我预计asp.net的服务器控件会首先自动解决这类问题,所以我想知道是否有某种方式。)
答案 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类型功能