2011-06-21 159 views
0

KeyPressKeyDown事件在System.Web.UI.WebControls.TextBox中不可用,因此一種方法是使用Java腳本,但希望在這些事件中引發一些Sql查詢。有可能從JavaScript執行Sql查詢嗎?如果沒有,那我該怎麼做呢?如何在asp.net中處理KeyPress或KeyDown事件?

+1

要觸發事件頁面必須發佈,我敢肯定,你不希望每個按鍵。 ajax會適合這個嗎? – tom502

+1

我還沒有使用Ajax,但我想我可以學習它。 –

回答

2

如果您需要捕獲關鍵事件,則需要使用Javascript。

您可以使用ajax將這些密鑰發送到服務器並執行操作。

我的猜測是你正在考慮一些與Google Suggest相關的內容。

5

不,您不能從JavaScript執行SQL。你最好的選擇是使用jquery之類的東西,並將事件連接到.change()(或類似的東西),然後發出一個ajax請求來執行sql查詢。用於文本框按鍵或按鍵的服務器端事件(不存在)將每次提交頁面,而這對用戶不起作用。你可能會考慮jQuery用戶界面自動完成,如果你正在尋找顯示一些信息

-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查詢。

相關問題