繁体   English   中英

输入TextBox的键事件

[英]Enter key event for TextBox

我是asp.net的新手。 在这里,我试图创建一个聊天应用程序。 在我的项目中有一个标签和一个TextBox。 每当用户在TextBox中输入任何内容并按enter键时,文本将显示在Label 我尝试了下面的代码:

文本框的OnEnterKeyPress(.aspx.cs文件)

        HttpRequest request = base.Request;           
        Ping p = new Ping();
        PingReply r;
        String s = request.UserHostAddress;  //using own IP address for understanding purpose.
        r = p.Send(s);
        Response.Buffer = false;
        if (r.Status == IPStatus.Success)
        {
            Label1.Text = TextBox1.Text;
        }

我不知道如何保持输入事件。 (TextBox属性中没有事件,因为它在C#中)

在问这里之前,我检查了很多链接,比如Link1 Link2 Link3,但没有用。 我可以使用简单的Javascript,但主要代码是在C#文件中。

如果表单中只有一个按钮要启用“输入”,则可以将其设置为默认值

protected void Page_Load(object sender, EventArgs e)
{
    this.Form.DefaultButton = myTextBox.UniqueID;
}

对于任何按钮,您将需要使用Javascript。 您仍然可以使用C#添加属性。 (从这里

myTextBox.Attributes.Add("onkeydown", "if(event.which || event.keyCode)
                  {if ((event.which == 13) || (event.keyCode == 13)) 
                      {document.getElementById('"+Button1.UniqueID+"').click();
                                         return false;}} else {return true};");

你需要把它放在自己的形式并使用javascript,因为它将在一个包含其他控件的页面中。 每次输入内容时,您都不希望“提交”页面。

<form action="javascript:chat()">
put label and textbox here
</form>

这将使“输入”为文本框工作。 对于聊天功能,为了使其更具交互性,您可以使用http://signalr.net/实现

您可能在这里面临的问题是事件将在服务器端处理(发布后)。 当按下回车键时,你可能仍然需要一个javascript来发布帖子。

我也不确定OnEnterKeyPressed是否是一个有效的事件。

暂无
暂无

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

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