【问题标题】:ASP.NET Wizard get Value of TextboxASP.NET 向导获取文本框的值
【发布时间】: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


【解决方案1】:

检查this MSDN forum posting。希望这会对你有所帮助。

【讨论】:

  • 不,问题不是访问 textbox1.text,而是我有用户输入的当前值的初始值
【解决方案2】:

我自己解决了这个问题。我的错是,我将每个 Page_Load 上的 TextBox1.Text 再次设置为初始值。我不知道这个事件是由向导下一步按钮触发的。

如此简单的解决方案是添加一个 if 案例来询问页面的 PostBack 状态:

if(!Page.IsPostBack)
TextBox1.Text = Initialvalue;

【讨论】:

    猜你喜欢
    • 2014-08-03
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 2020-03-28
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多