【发布时间】:2023-03-12 08:55:01
【问题描述】:
我的 Webforms 应用程序中有一个 asp:Wizard:
<WizardSteps>
<asp:WizardStep ID="WizardStep1" runat="server" StepType="Start" Title="a">
<asp:TextBox ID="TextBox1" runat="server" Enabled="True"></asp:TextBox>
</asp:WizardStep>
<asp:WizardStep ID="WizardStep2" runat="server" StepType="Complete" Title="b">
</asp:WizardStep>
</WizardSteps>
现在我想在下一步中访问用户在 TextBox1 中输入的值。在
Wizard1_NextButtonClick
我可以访问 TextBox1.text,但用户输入的值不在 text 属性中。还有初始值吗?如何访问用户输入的值? Wizard 和 Wizardsteps 的视图状态已启用。
解决方案: 我的错是,我将每个 Page_Load 上的 TextBox1.Text 再次设置为初始值。我不知道这个事件是由向导下一步按钮触发的。
如此简单的解决方案是添加一个 if case 来询问页面的 PostBack 状态
【问题讨论】:
-
您是否在某些情况下启用了文本框(因为我可以看到 Enabled="False")?因为只要它被禁用,用户怎么能改变这个值呢?我尝试了代码,并且能够从“Wizard1.NextButtonClick”事件处理程序中的“TextBox1.Text”获取修改后的文本。
-
对不起,我粘贴了错误的代码。我将其更改为启用。这不是问题
标签: c# asp.net webforms viewstate wizard