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";
}

C#网页.使用按钮点击更新文本框时出现问题

你非常接近。你所需要做的就是:

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