繁体   English   中英

C#网页。 使用按钮单击无法更新文本框

[英]C# Web Page. Trouble using button click to update textbox

因此,我现在正在为基础知识创建一个虚拟网页。 目标:单击按钮后,我要更新文本框中显示的信息。

方法myButton_Click接受按钮的参数。 由于未从buttonclick事件访问该对象,因此如何访问该对象(如文本框)(或任何与此相关的对象)? 我设置了一个公共变量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上学习网络,则应该开始学习ASP.NET MVC,而不是网页。

无论如何,我相信您不会获得与桌面应用程序相同的行为,因为当您单击该按钮时,您将获得页面回发(刷新整个页面)。 您应该使用页面的回发事件来更改文本,而不是按钮。

或者,您应该使用ASP.NET Ajax 1.0中的旧“ UpdatePanel”将按钮和文本框放在同一UpdatePanel中(但必须首先安装该ASP.NET Ajax 1.0)

但是请开始使用MVC :) http://www.asp.net/mvc

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM