在asp.net页面中动态添加控件

时间:2010-02-20 08:35:46

标签: asp.net dynamic controls

我在网页中动态添加控件。 我在onload方法中添加它们。 一切都很好..

但我对它的运作方式有点困惑。 我在很多文章中读过,所有控件都在加载事件之前从viewstate获取它们的值。然后,当我在OnLoad事件中添加它们时,即在LoadPostData事件之后,我的动态添加控件如何获取它们的值。

3 个答案:

答案 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的文章。 :)