0

再会,

我有一个 aspx 页面名称 MakeRedemption.aspx。

在这个 MakeRedemption.aspx 中,我有一个 UserControl 页面名称 SearchGift.ascx。

在 SearchGift.ascx 中,我有一个中继器。在这个转发器中,我有另一个 UserControl 页面名称 InfoForm.ascx。

也就是说,SearchGift.ascx 包含一个 UserControl 页面名称 InfoForm.ascx。

InfoForm.ascx 有一些文本框让用户输入值。

但是,在我输入这些值并单击 SearchGift.ascx 中的一个按钮后,InfoForm.ascx 看到回发并且这些值消失了。因此,我无法获得我早期键入的任何值。

我也不确定我应该在这里发布哪一部分代码。希望我在这里的句子可以清楚地描述我的问题。

如果我的问题不清楚,请告诉我。

问候。

4

1 回答 1

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 就会变魔术并用回发前的值重新填充控件。

于 2013-06-24T11:38:23.850 回答