ASP.为什么我不能更改网页中文本框中的文本

本文关键字:文本 中文 网页 为什么 不能 ASP | 更新日期: 2023-09-27 18:12:57

我有一个ASP。一个简单的网页。NET项目。当我加载页面时,文本框显示"Hello"。当我点击"btnUpload"时,文本就消失了。Load_Form函数中的IsPostBack只是使文本保持不变。

protected void Page_Load(object sender, EventArgs e)
{   
    TextBox1.Text = "Hello";               
}
protected void btnUpload_Click(object sender, EventArgs e)
{
   TextBox1.Text = "Good Bye";
}

ASP.为什么我不能更改网页中文本框中的文本

这是因为您没有使用

if(!IsPostBack) { }

inside Page_load() method

所以修改你的代码为:

protected void Page_Load(object sender, EventArgs e)
{   
    if(!IsPostBack) {
    TextBox1.Text = "Hello";               
    }
}
protected void btnUpload_Click(object sender, EventArgs e)
{
   TextBox1.Text = "Good Bye";
}

因为,你没有使用这个,这就是为什么,在回发按钮上,它将值更改为TextBox1.Text = "Good Bye";,但它随后完成了Page_Load()的回发,所以它再次更改为TextBox1.Text = "Hello";,这就是Page_Load()的默认值在渲染后显示的原因。

您必须在Page_Load事件处理程序中使用以下条件,而不是在Load_Form:

if (!IsPostBack) {
    TextBox1.Text = "Hello";
}

你的按钮点击事件处理程序是ok的。

希望有帮助!

请看下面的代码:

default . aspx:

<asp:TextBox ID="text1" runat="server"></asp:TextBox>
<asp:Button ID="btn" runat="server" OnClick="btn_Click" />

确保aspx页面包含与上面相同的按钮代码