【问题标题】:Text in UserControl TextBox disappear after click on a button单击按钮后,UserControl TextBox 中的文本消失
【发布时间】:2013-06-20 21:30:27
【问题描述】:

早安,

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

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

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

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

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

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

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

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

问候。

【问题讨论】:

    标签: c# user-controls postback repeater


    【解决方案1】:

    之前我用这篇文章解决了我的问题

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

    【讨论】:

    • 谢谢。但我对第二篇文章不太了解。大写字母 [VIEWSTATEKEY] 是什么意思?我在我的地方输入,得到红线错误。 --> 当前上下文中不存在。
    • 这样输入 - Viewstate["viewstatekey"] = any value;
    • 这就像在视图状态中添加一个变量。你可以从这里阅读它codeproject.com/Articles/31344/Beginner-s-Guide-To-View-State
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-27
    • 1970-01-01
    • 2021-03-27
    • 1970-01-01
    • 2021-09-12
    • 2020-01-14
    相关资源
    最近更新 更多