Я новичок в ASP.NET, я создаю окно поиска в своем приложении с помощью AJAX.Реализовать SearchBox с помощью Ajax
Например: если пользователь вводит «abc» в текстовое поле, тогда текстовое поле будет извлекать данные из базы данных, которая начинается с «abc».
, но я не в состоянии видеть данные,
Вот мой фрагмент кода:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="SearchBox.aspx.cs" Inherits="SearchBox" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<script type="text/javascript">
function getdata()
{
var connection = new ActiveXObject("System.Data.SqlClient");
var connectionstring = "Data Source=ilsql;Initial Catalog=krunal_DB;User ID=krunaldbuser;[email protected];Provider=System.Data.SqlClient";
connection.Open(connectionstring);
var rs = new ActiveXObject("ADODB.Recordset");
rs.Open("SELECT DISTINCT Scrip FROM dbo.SearchBoxData where Scrip Like '{0}%'", TextBox1.Text, connection);
rs.MoveFirst
while (!rs.eof) {
document.write(rs.fields(1));
rs.movenext;
}
rs.close;
connection.close;
var xmlhttp;
if (str.length == 0) {
document.getElementById("txtHint").innerHTML = "";
return;
}
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
}
else {// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("txtHint").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET", "gethint.asp?q=" + str, true);
xmlhttp.send();
}
</script>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="TextBox1" runat="server" onkeyup="getdata()"></asp:TextBox>
</div>
</form>
</body>
</html>
Любая помощь будет Appriciated.
Спасибо заранее!
Почему бы вам не использовать автозаполнение Textbox из AjaxControlToolkit? его очень легко использовать и настроить – Habib