C#网页.使用按钮点击更新文本框时出现问题
本文关键字:文本 问题 更新 网页 按钮 | 更新日期: 2023-09-27 18:29:14
所以我现在正在为基础知识创建一个虚拟网页。目标:单击按钮,我想更新文本框中显示的信息。
myButton_Click方法接受按钮的参数。我如何访问像文本框这样的对象(或任何对象),因为它不是从按钮单击事件访问的?我设置了一个公共变量myTextBox_
,然后我想我可以自由编辑它。但我仍然不知道如何设置myTextBox_
来理解它连接到网页。
Html:
<form id="form1" runat="server">
<p style="height: 324px">
<asp:Button ID="myButton" runat="server" EnableTheming="True" Text="Button" onclick="myButton_Click"/>
<asp:TextBox ID="myTextBox" runat="server">Hello</asp:TextBox>
</p>
</form>
然后C#代码:
Textbox myTextBox_;
protected void Page_Load(object sender, EventArgs e)
{
//possibly initialization code set myTextBox_ to the id myTextbox, but how?
}
protected void myButton_Click(object sender, EventArgs e)
{
myTextbox_.text = "goodbye";
}
你非常接近。你所需要做的就是:
protected void myButton_Click(object sender, EventArgs e)
{
myTextBox.Text = "goodbye";
}
您不需要在Page_Load
方法中设置任何内容,因为您已经将它们设置为runatserver
,因此可以从代码后面访问它们。
如前所述,这将需要回发才能工作,为了避免这种情况,请使用AJAX或使用纯JavaScript。
如果你想在.NET上学习web,你应该开始学习ASP.NET MVC,而不是网页。
无论如何,我相信你不会得到与桌面应用程序相同的行为,因为当你点击按钮时,你会得到一个页面回发(整个页面都会刷新)。您应该使用页面的回发事件来更改文本,而不是按钮。
或者,您应该使用ASP.NET Ajax 1.0中的旧"UpdatePanel",将按钮和文本框放在同一个UpdatePanel中(但必须首先安装ASP.NET Ajax 1.0)
但是,请开始使用MVC:)http://www.asp.net/mvc