如何在asp.net中处理KeyPress或KeyDown事件?

时间:2011-06-21 14:35:59

标签: c# javascript asp.net sql-server-2005 events

KeyPress中没有

KeyDownSystem.Web.UI.WebControls.TextBox个事件,所以一种方法是使用Java-Scripts,但想在这些事件中触发一些Sql查询。是否可以从JavaScript执行Sql查询?如果没有,那我该怎么做?

3 个答案:

答案 0 :(得分:5)

不,你不能从javascript执行SQL。最好的办法是使用类似jquery的东西,然后将事件连接到.change()(或者simiiar),然后发出一个ajax请求来执行sql查询。文本框按键或按键的服务器端事件(不存在)将每次提交页面,这对用户不起作用。如果您要显示某些信息,可以查看jquery ui自动完成功能

答案 1 :(得分:2)

如果您需要捕获关键事件,则需要使用Javascript。

您可以使用ajax将这些密钥发送到服务器并执行操作。

我的猜测是,您正在考虑与Google Suggest类似的内容。

答案 2 :(得分:-3)

You can handel the key press event in this way :    

<%@ Page Language="C#" %>
<script runat="server">

protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
Label1.Text = "Start";
}
TextBox1.Attributes.Add("onkeyup", "rewriteLabel()");
}
</script>

<script type="text/javascript">

function rewriteLabel(){
TextBox1.Text = Label1.text;
}

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head >
<title >test</title>
</head>
<body>
<form id="form1" runat="server">
<br />
<asp:TextBox ID="TextBox1" runat="server" /><br />
<asp:Label ID="Label1" Runat="server" BorderWidth="1px" />
</form>
</body>
</html>

但是您无法在这些事件中触发SQL查询。