C# 从服务器端获取TextBox控件的设置值

C# 从服务器端获取TextBox控件的设置值,c#,asp.net,webforms,code-behind,C#,Asp.net,Webforms,Code Behind,假设我在ASP.NET Webform的页面加载中有此代码 protected void Page_Load(object sender, EventArgs e) { TextBox1.Text = "123"; } 这是我在aspx文件中的控件 <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:Button ID="Button1" runat="server" Text="Bu

假设我在ASP.NET Webform的页面加载中有此代码

protected void Page_Load(object sender, EventArgs e)
{
    TextBox1.Text = "123";
}
这是我在aspx文件中的控件

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
现在在
TextBox1.Text中,我应该得到12548或更新的值,而不是我在页面加载中已经设置的123


现在我想获取更新后的值,我如何才能正确地进行操作。

修改页面加载,如下所示:

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostback)
    {
        TextBox1.Text = "123";
    }
}

按如下方式修改页面加载:

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostback)
    {
        TextBox1.Text = "123";
    }
}

将其包装在非回发邮件中

  protected void Page_Load(object sender, EventArgs e)
{ 
 if(!IsPostBack)
    {
      TextBox1.Text = "123";
    }
}
或将其完全移除:

protected void Page_Load(object sender, EventArgs e)
{
  //not here
}

<asp:TextBox ID="TextBox1" Text="123" runat="server"></asp:TextBox>
受保护的无效页面加载(对象发送方,事件参数e)
{
//不在这里
}

将其包装在一个非回发文件中

  protected void Page_Load(object sender, EventArgs e)
{ 
 if(!IsPostBack)
    {
      TextBox1.Text = "123";
    }
}
或将其完全移除:

protected void Page_Load(object sender, EventArgs e)
{
  //not here
}

<asp:TextBox ID="TextBox1" Text="123" runat="server"></asp:TextBox>
受保护的无效页面加载(对象发送方,事件参数e)
{
//不在这里
}
问题在于“在ASP.Net中,每次您导致任何类型的回发,包括处理按钮单击等事件时,您都在处理必须从头开始重建的页面类的全新实例。以前在服务器上构建页面所做的任何工作都将消失。这意味着运行整个页面生命周期,包括页面加载代码,而不仅仅是单击代码

每次在前端执行任何事件时,它都会重新创建页面并再次调用pageload方法,页面将实际重置。为了避免这种情况,应该使用以下代码

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostback)
        {
             //default code
        }
    }
问题是这个“在ASP.Net中,每次您导致任何类型的回发,包括处理按钮单击等事件时,您都在处理必须从头开始重建的页面类的全新实例。以前在服务器上构建页面所做的任何工作都将消失。这意味着运行整个页面生命周期,包括页面加载代码,而不仅仅是单击代码

每次在前端执行任何事件时,它都会重新创建页面并再次调用pageload方法,页面将实际重置。为了避免这种情况,应该使用以下代码

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostback)
        {
             //default code
        }
    }