我根本无法绕过这一个。
我有1个输入框(textbox1)和许多显示数据库数据的文本框,输入textbox1中的值后显示数据并清空textbox1,以便输入另一个值,依此类推。
我还有第二个按钮用于编辑其他文本框中的值(为此目的而启用),所以当我决定更改这些值并在数据库中更改它们时,我需要来自textbox1的值,以便我可以识别位置数据库中的数据。
我无法弄清楚如何在Button1_click中存储该值,以便我可以在Button2_click中调用它。我知道我不能把它设置出来。我试图设置另一个子存储textbox1值并调用两个按钮,但这不起作用。
答案 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,但为你做了(非常轻微)的努力。