我是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#文件中。
答案 0 :(得分:1)
如果表单中只有一个按钮要启用“输入”,则可以将其设置为默认值
protected void Page_Load(object sender, EventArgs e)
{
this.Form.DefaultButton = myTextBox.UniqueID;
}
对于任何按钮,您都需要使用Javascript。您仍然可以使用C#添加属性。 (来自here)
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};");
答案 1 :(得分:1)
你需要把它放在自己的形式并使用javascript,因为它将在一个包含其他控件的页面中。每次输入内容时,您都不希望“提交”页面。
<form action="javascript:chat()">
put label and textbox here
</form>
这将使“输入”对文本框起作用。对于聊天功能,为了使其更具互动性,您可以使用http://signalr.net/
实施答案 2 :(得分:0)
您可能遇到的问题是服务器端将处理事件(发布后)。当按下回车键时,你可能仍然需要一个javascript来发帖..
我也不确定OnEnterKeyPressed是否是一个有效的事件。