0

如何使用 C# 代码捕获 ASP 中的关键事件?

例如,我想按下左键,文本框会发音为“Left Pressed”。

4

1 回答 1

6

您误解了 Web 应用程序和 ASP.NET 的工作原理。在显示 HTML 页面的浏览器中,用户在客户端按下键。ASP.NET 和构成 Web 应用程序的 C# 代码在服务器端运行。您无法真正捕获服务器端的关键事件。即使可以,也不应该 - 每次用户按下某个键时,您都必须将其发送到服务器端,对其进行评估,然后再次呈现页面并将其发送回浏览器。这会产生大量流量并非常频繁地强制页面重新加载,从而使页面非常难以使用。即使是 AJAX 调用也无济于事。

相反,您应该在客户端处理按键,在浏览器内运行的 JavaScript 代码中,当您遇到服务器需要处理的内容时,您可以执行服务器调用。

该站点(以及其他站点)包含代码示例,展示了如何在 JavaScript 中实现密钥检测:

http://www.alessandrolacava.com/using-javascript-to-detect-the-key-pressed/

编辑

或者,您可以尝试使用 Silverlight,这是一个类似于 Flash 的可编程浏览器插件。Silverlight 承载 .NET Framework,可以使用 C# 进行编程。但是,即使在这种情况下,您也将在客户端而不是服务器上处理密钥。

于 2012-10-30T02:32:49.903 回答