ASP.NET C#为什么我无法更改网页中文本框中的文本

时间:2016-10-14 05:47:53

标签: c# asp.net

我有一个带有简单网页的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";

}

3 个答案:

答案 0 :(得分:0)

这是因为您没有使用

if(!IsPostBack) { }

Page_load()方法

将您的代码修改为:

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()完成回发之后,它会再次将其更改为{{1}这就是渲染后显示TextBox1.Text = "Hello";默认值的原因。

答案 1 :(得分:0)

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

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

您的按钮点击事件处理程序正常。

希望它有所帮助!

答案 2 :(得分:0)

请参阅以下代码:

Default.aspx的:

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

确保aspx页面包含相同的按钮代码,如上所示。