I Beispielprojekte ASP.NET WebForms und AJAX erstellen.
Ich schlage vor, Sie können AJAX-Prozess. NET Generic Handler-Datei verwenden. Bitte recherchieren Sie über Generic Handler Datei.
Bevor Sie Generic Handler-Datei "Search.ashx" erstellen und über dem Code einfügen.
public void ProcessRequest(HttpContext context)
{
var search = HttpContext.Current.Request.Form["term"];
//Dummy Data
List<string> searchList = new List<string> { "Red", "Orange", "Ping", "Blue", "White", "Black" };
string result = string.Empty;
if (!string.IsNullOrEmpty(search))
{
searchList = searchList.Where(x => x.ToLower().Contains(search.ToLower())).ToList();
if (searchList != null && searchList.Count() > 0)
{
foreach (var item in searchList)
{
result += "<li>" + item + "</li>";
}
}
}
else
{
result="<li> Not Found </li>";
}
context.Response.ContentType = "text/plain";
context.Response.Write(result);
}
public bool IsReusable
{
get
{
return false;
}
}
und erstellen Sie Ihre Suchseite, YourFile.aspx, mein Dateiname Search.aspx.
ASPX Seite Code:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication7.Default" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<input type="text" id="txtSearch" class="js-search" value="Search" />
<div class="searchResult">
<ul>
</ul>
</div>
</div>
</form>
<script src="https://code.jquery.com/jquery-2.2.3.min.js" type="text/javascript"></script>
<script>
$(function() {
$(".js-search").on('keyup', function() {
var term = $('.js-search').val();
if (term.length > 2) {
sendSearchRequest({ "term": term });
}
});
function sendSearchRequest(value) {
var datas = $.ajax({
type: "POST",
url: '/Search.ashx',
cache: false,
async: false,
data: value,
success: function (term) {
$('.searchResult').empty();
$('.searchResult').append(term);
}
});
}
});
</script>
</body>
</html>
Dieses Beispiel, wenn alle drei Buchstaben senden Ajax-Request search.ashx Datei eingegeben und das Suchwort enthält und auf Suchseite Ergebnis.
Ich hoffe, dass hilft.
Haben Sie die Page.IsPostback-Methode verwendet? –
@rootturk Ein textchanged-Ereignis tritt auf, wenn der Fokus aus dem Textfeld entfernt wird. Ich möchte auf jedes eingegebene Keyword antworten. Wie hilft mir Page.ispostback ... ????? –
Es ist keine gute Idee, für jeden Tastendruck in ASP.NET Web Forms ein Postback zu geben, es sei denn, Sie tun etwas mit AJAX. – Thangadurai