我有两个下拉列表,其中一个在更新面板内,另一个在外面。当在ddlFaculty上更改索引时,整个页面将被回发而不是部分用于更新面板中的内容。
我已经在ASP文档中看到,有时验证控件会使更新面板陷入困境,但我不太确定这是否存在问题。
auto_id
答案 0 :(得分:1)
尝试使用AsyncPostBackTrigger
的{{1}}属性。
请参阅:How to stop UpdatePanel from causing whole page postback?
您是否尝试在触发器部分将Button1设置为AsyncPostBackTrigger,将ChildrenAsTriggers属性设置为true,将UpdateMode属性设置为Conditional
其他解决方案:
User control inside update panel causing full page postback
如果您的UpdatePanel无法将其内容呈现给a(例如,当它位于其中时),则会发生完全回发。所以检查一下UpdatePanel里面的html,你可能会在那里找到答案(另外,找一些不正确的xhtml,比如错误关闭的元素)。
UpdatePanel causes full page postback
除非您知道您的网站在XHTML模式下运行时遇到的已知问题(以及您还没有时间修复),我总是建议您从web.config文件中删除该部分(或者您可以明确地将其设置为“Transitional”或“Strict”)。
这将使您的HTML输出标准符合要求。除此之外,这将导致服务器控件中的HTML“格式良好” - 意味着打开和关闭标记元素始终匹配。当您使用AJAX技术动态替换页面上某些HTML元素的内容时,这一点尤为重要(否则客户端JavaScript有时会对容器元素产生混淆并导致错误)。它还将确保ASP.NET AJAX与您的站点一起正常工作。
答案 1 :(得分:0)
事实证明,该页面实际上发送了部分回发,但是当回发被收回作为整页回发时,我错误地将滚动条错误地转到页面顶部