JavaScript触发的UpdatePanel未正确更新
我正在从事一个大型、复杂的ASP.NET项目 我有一个动态加载的web用户控件,其UpdatePanel无法正确更新。UpdatePanel是从JavaScript函数触发的 我已经设法创建了一个非常简化的项目来演示这个问题,并将其发布在了JavaScript触发的UpdatePanel未正确更新,javascript,asp.net,ajax,Javascript,Asp.net,Ajax,我正在从事一个大型、复杂的ASP.NET项目 我有一个动态加载的web用户控件,其UpdatePanel无法正确更新。UpdatePanel是从JavaScript函数触发的 我已经设法创建了一个非常简化的项目来演示这个问题,并将其发布在了 如果有人对这些技术有更深入的了解,能为我指明正确的方向,我将不胜感激。尝试在UpdatePanel的OnPreRender事件中设置文本框值,而不是在OnLoad中设置文本框值。我想我找到了发生的事情。我知道UpdatePanel回发与普通回发类似,但只将页
如果有人对这些技术有更深入的了解,能为我指明正确的方向,我将不胜感激。尝试在UpdatePanel的OnPreRender事件中设置文本框值,而不是在OnLoad中设置文本框值。我想我找到了发生的事情。我知道UpdatePanel回发与普通回发类似,但只将页面的一部分发送回客户端。所以我玩了一会儿,发现半履带式列车员所说的方法果然奏效了。然后,我让谷歌了解UpdatePanel的常见错误,发现这解释了问题所在 这就是实际发生的情况
1|#||4|356|updatePanel|MainContent_WebUserControl11_ctl00_UpdatePanel1|
<p>
Message:<br />
<input name="ctl00$MainContent$WebUserControl11$ctl00$TextBox1" type="text" value="testing" id="MainContent_WebUserControl11_ctl00_TextBox1" />
</p>
1 |#| | | 4 | 356 |更新面板|主要内容|网络用户控制11 | ctl00 |更新面板1|
消息:
因此,要在更新面板中更新输入元素的值,您需要在Pre_render事件中进行更新。另一方面,您可以在On_load上更新标签,它将起作用
希望这能有所帮助。是的,这似乎很有效,谢谢。不过,在我继续之前,我会尝试更好地理解这个问题。这显然与动态加载控件的时间有关。谢谢@marto。我确实看到了你链接的文章。我会再仔细阅读一遍ly。我在Pre_Render中通过做一些事情来实现这一点,但我对一些细节仍不清楚。我遇到了一个类似的问题,HiddenField尚未由Request.Form在动态控件的加载过程中填充(在OnInit期间添加).当然,我正在写一篇完整的回帖,而不是一篇局部的回帖。等到预渲染时才阅读希登菲尔德的作品,但并不令人满意。