我有一个带有简单网页的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";
}
答案 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页面包含相同的按钮代码,如上所示。