ASP.NET 4 UpdatePanel打破了变化

时间:2010-10-14 19:47:23

标签: updatepanel asp.net-4.0

我正在将一个ASP.NET应用程序从3.5SP1移植到4.0。该应用程序在3.5SP1中完美运行。在4.0中,我发现UpdatePanel行为存在差异。

我们有一个简单的用户控件,包含一个测试框,一个按钮和一些文本。用户控件位于UpdatePanel内,UpdateMode =“Conditional”,ChildAsTriggers =“true”。

用户键入文本框并单击按钮。我们进行搜索。如果我们找到了某些内容,页面上其他位置的内容就会更新 - 这很有用。如果我们找不到它,我们会更改用户控件中的文本。这种变化永远不会出现。

所以我知道按钮和逻辑正在工作。用户控件不拥有它所在的UpdatePanel,如果没有,它会很好。但即使该按钮将事件提升回服务器,更新面板内容也不会更新。

有没有人见过这个?

1 个答案:

答案 0 :(得分:3)

我的问题原来是4.0的新客户端ID机制。查看新功能here

4.0默认为“继承”,而“autoID”为“旧”行为。通过将其添加到web.config pages元素:

clientIDMode="AutoID"

我的问题消失了。我不会强迫强制向后兼容的行为,但直到我可以通过所有控制关系排序,这将是必须做的。