VB在webform中全局存储文本框值

时间:2014-03-15 18:39:48

标签: vb.net button macros textbox

我根本无法绕过这一个。

我有1个输入框(textbox1)和许多显示数据库数据的文本框,输入textbox1中的值后显示数据并清空textbox1,以便输入另一个值,依此类推。

我还有第二个按钮用于编辑其他文本框中的值(为此目的而启用),所以当我决定更改这些值并在数据库中更改它们时,我需要来自textbox1的值,以便我可以识别位置数据库中的数据。

我无法弄清楚如何在Button1_click中存储该值,以便我可以在Button2_click中调用它。我知道我不能把它设置出来。我试图设置另一个子存储textbox1值并调用两个按钮,但这不起作用。

1 个答案:

答案 0 :(得分:1)

.NET为您提供了许多选项,这些选项将在回发中保留textbox1中的数据。在你的情况下,我个人会选择一个隐藏的领域。

只需添加一个隐藏字段(我在我的示例中将此Hiddenfield1命名为一致性)到您的标记,该标记将包含执行Button1_click时最新的textbox1值:

<asp:Hiddenfield id="Hiddenfield1" runat="server" />

然后是你的事件处理程序:

Sub Button1_click(sender As Object, e As EventArgs)
    Hiddenfield1.Value = Textbox1.Text
    'Add your code to grab data from your database here.
End Sub

Sub Button2_click(sender As Object, e As EventArgs)
    'You still have access to the value stored in Hiddenfield1 here, do with it as you please!
End Sub

关于在帖子后面保持状态有很多答案(here, for example)。

另一种常见的方法是直接使用viewstate,但我更喜欢使用hiddenfield方法,因为它使用了viewstate,但为你做了(非常轻微)的努力。