我在网页中动态添加控件。 我在onload方法中添加它们。 一切都很好..
但我对它的运作方式有点困惑。 我在很多文章中读过,所有控件都在加载事件之前从viewstate获取它们的值。然后,当我在OnLoad事件中添加它们时,即在LoadPostData事件之后,我的动态添加控件如何获取它们的值。
答案 0 :(得分:2)
将它们加载到Page_Init()
中查看页面生命周期以获取更多信息:
http://msdn.microsoft.com/en-us/library/ms178472.aspx
这也是一篇有用的文章:
http://www.code-magazine.com/article.aspx?quickid=0305101&page=2
答案 1 :(得分:0)
在典型的 GET 请求中,控件是在Page_Init
创建的。由于这些动态控件不是页面标记的一部分,因此在 POST BACK 中,您需要重新创建。请确保在重新创建时,它必须具有相同的 ID ,否则您的事件/值将无法保留。
答案 2 :(得分:0)
动态添加的控件在控件生命周期中起到了作用。即使您在错过LoadViewState事件后添加控件,控件添加到页面时控件仍会发生该事件。我建议那些没有特权阅读这篇文章的可怜的灵魂立即这样做:
http://weblogs.asp.net/infinitiesloop/archive/2006/08/03/Truly-Understanding-Viewstate.aspx
<强>来源: 专业的程序员,我不是自称是专家,但我已经阅读了大量关于ViewState的文章。 :)