C# ASP.NET C为什么我不能更改网页中文本框中的文本
我有一个带有简单网页的ASP.NET项目。当我加载网页时,文本框显示Hello。当我点击按钮时,文字消失了。 我试过了!加载表单函数中的IsPostBack只需使文本保持不变C# ASP.NET C为什么我不能更改网页中文本框中的文本,c#,asp.net,C#,Asp.net,我有一个带有简单网页的ASP.NET项目。当我加载网页时,文本框显示Hello。当我点击按钮时,文字消失了。 我试过了!加载表单函数中的IsPostBack只需使文本保持不变 protected void Page_Load(object sender, EventArgs e) { TextBox1.Text = "Hello"; } protected void btnUpload_Click(object sender, EventArgs e
protected void Page_Load(object sender, EventArgs e)
{
TextBox1.Text = "Hello";
}
protected void btnUpload_Click(object sender, EventArgs e)
{
TextBox1.Text = "Good Bye";
}
这是因为您没有使用
if(!IsPostBack) { }
内页加载方法
因此,将您的代码修改为:
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=再见;但在完成回发后,页面加载会再次更改为TextBox1.Text=Hello;这就是页面加载的默认值在渲染后显示的原因。您必须在页面加载事件处理程序中使用以下条件,而不是在加载表单中: 您的按钮单击事件处理程序正常
希望有帮助 请参见以下代码: Default.aspx:
<asp:TextBox ID="text1" runat="server"></asp:TextBox>
<asp:Button ID="btn" runat="server" OnClick="btn_Click" />
请确保aspx页面包含与上述按钮相同的代码。您可以发布您的属性吗?它是否将AutoEventWireup设置为true?另外,btnUpload按钮的HTML也很好看到。它应该有OnClick=btnUpload\u Click属性集。它对我来说工作正常。单击按钮时,文本将由更改为“良好”。你是在找别的东西吗?你是不是在aspx中缺少OnClick=btnUpload\u单击按钮单击。不是真的。页面加载首先出现,然后是触发回发的事件。看见因此,如果没有if,代码确实可以很好地工作!谢谢你们为我解决了这个问题。非常感谢。如果你喜欢这个答案,如果它对你有用,请勾选它作为正确答案,这样,它也可以帮助其他人@任赫
<asp:TextBox ID="text1" runat="server"></asp:TextBox>
<asp:Button ID="btn" runat="server" OnClick="btn_Click" />