【发布时间】:2011-09-14 10:19:46
【问题描述】:
我正在用 C# 在 ASP.NET 中开发一个简单的聊天系统(它是一个网站而不是 Windows 应用程序)。我正在显示一个包含 TextBox 的聊天窗口,以便用户可以在其中编写他/她的消息。我想要的是,当用户按下 ENTER 键时,我将能够捕获该 ENTER 按下事件并可以调用将在 .cs 文件中的函数。我怎样才能做到这一点?这是我项目中的代码段:
<!-- Some code here -->
<asp:textbox TextMode="Multiline"
Columns="28"
id="Textbox1"
Rows="5"
runat="server"
BorderStyle="Solid"
BorderColor="Bisque"
class="msg-area">
</asp:textbox>
</asp:Panel>
谢谢。
【问题讨论】:
-
订阅包含表单的提交事件怎么样?
-
我不知道该怎么做。表单是在主文件中创建的,在这个文件(聊天窗口)中只有 asp:Panel 标签包含这个文本框(如你在上面的代码中所见)!
-
取决于您使用的 JavaScript 库。对于 jQuery,请查看:api.jquery.com/submit 然后您可能需要将 ajax 请求放入提交处理程序中。
-
是否可以在这里添加一个按钮,然后您可以使用面板的
defaultButton属性 -
这似乎不是有效的 xml。像 defaultbutton 这样的东西控制表单的回发。大多数浏览器会在按下 enter 时提交表单,除非在多行文本框中按下它,在这种情况下,enter 键会在文本框中添加一个换行符。如果你想覆盖它,你将需要 javascript。