美好的一天,
我有一个aspx页面名称MakeRedemption.aspx。
在MakeRedemption.aspx中,我有一个UserControl页面名称为SearchGift.ascx。
在SearchGift.ascx内部,我有一个转发器。在这个转发器中,我有另一个UserControl页面名称InfoForm.ascx。
这意味着,SearchGift.ascx包含UserControl页面名称InfoForm.ascx。
InfoForm.ascx有一些textboX让用户键入值。
但是,在我输入这些值之后,点击SearchGift.ascx中的一个按钮,InfoForm.ascx看到了回帖并且那些价值消失了。因此,我无法获得我早期关键的任何价值。
我也不确定我应该在这里发布哪部分代码。希望我的句子可以清楚地描述我的问题。
如果我的问题不明确,请告诉我。
问候。
答案 0 :(得分:0)
早些时候我使用这篇文章解决了我的问题
http://www.codeproject.com/Articles/3684/Retaining-State-for-Dynamically-Created-Controls-i
试试这个
http://www.codeproject.com/Articles/35360/ViewState-in-Dynamic-Control
我过去遇到过同样的问题。另一种方法是为动态添加的控件提供一个ID,并确保它在回发时也保留了相同的ID(在我的情况下,我保留了会话中的所有信息,并重新创建了控件)。
一旦回发的控件具有与之前相同的ID,Microsoft就会做出魔术,并使用回发前的值重新填充控件。