单击Asp文本框清除

时间:2018-03-14 15:59:01

标签: c# asp.net webforms viewstate

我想填写一些ASP文本框。

<div class="form-group">
    <asp:Label CssClass="form-control-label" ID="LFirstName" Text="First Name"
        AssociatedControlID="TBFirstName" runat="server"></asp:Label>
    <asp:TextBox CssClass="form-control" ID="TBFirstName" 
        runat="server" MaxLength="50"></asp:TextBox>

    <asp:Label CssClass="form-control-label" ID="LLastName" Text="Last Name" 
        AssociatedControlID="TBLastName" runat="server"></asp:Label>
    <asp:TextBox CssClass="form-control" ID="TBLastName" 
        runat="server" MaxLength="50"></asp:TextBox>
    ...
</div>

按下按钮时......

<asp:Button ID="BTN_UserSubmit" runat="server" 
    Text="Submit" OnClick="Click_UserSubmit"/>

我有一些我想和他们做的神奇事情

protected void Click_UserSubmit(object sender, EventArgs e)
{
    Log("TBFistName" + TBFirstName.Text);
    Log("TBLastName" + TBLastName.Text);
    ...

不幸的是,我的日志只显示空字符串:

TBFistName 
TBLastName 

为什么会发生这种情况,如何将这些值保持足够长的时间来对它们做任何事情?

1 个答案:

答案 0 :(得分:1)

您可能正在初始化/清除Page_Load中的值。

无论何时通过单击按钮或其他方式进行回发,都会在单击事件之前调用Page_Load方法。

所以你需要在里面放置任何初始化逻辑:

if (!Page.IsPostback)
{
    ...
}