我需要做一个文本 ASP.NET (C#) 多搜索文本框(即允许选择和输入 3 个值,即:“一、二、三”)自动完成,并在我的数据库中使用谷歌搜索等建议,同时输入值在文本中,数据网格将显示我们数据库中存在的数据......您有什么建议或想法让它正确吗?
非常感谢您的关注
干杯
编辑:
我正在尝试使用 c# 而不是 jquery 按要求而不是 jquery 来做到这一点。
非常感谢。
您可以使用 Jquery UI 的自动完成功能:
您可以使用AjaxToolKit AutoComplete 扩展程序。
你肯定会得到你的问题的答案。
文本框、ajax 工具包 AutoComp xtender 将为您完成。为此:
以上只是给你一个出路,你可以通过谷歌搜索得到休息。 http://www.aspdotnet-suresh.com/2011/05/ajax-autocompleteextender-sample.html
对于自动完成部分,您将需要AJAX Control Toolkit AutoCompleteExtender
:http ://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/AutoComplete/AutoComplete.aspx
对于搜索部分,您将需要SQL Server Full Text Search
:http: //blog.sqlauthority.com/2008/09/05/sql-server-creating-full-text-catalog-and-index/
由于您不想使用 jQuery,我会推荐 AJAX 自动完成扩展器。非常有用,您可以使用 Web 方法在 C# 中执行所有查询代码。在这里查看文章。
您可以使用 AjaxToolKit AutoComplete 扩展器。
检查以下链接。以下链接中的所有资源。 http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/AutoComplete/AutoComplete.aspx
这是代码项目示例链接
http://www.codeproject.com/Articles/201099/AutoComplete-With-DataBase-and-AjaxControlToolkit
听起来像是 JQuery 自动完成和 JqGrid 显示匹配数据的工作。
您永远无法进行重定向,因为您想留在同一页面上并且只想动态更新页面的某些部分。
如果您有机会使用 MVC 4 尤其是 WEB API,那将是非常棒的,如果不是接受并返回 json 数据的 webmethod 会很好。
我个人不会为此使用 ajaxtoolkit,你的代码越接近 HTML,你就越好。
非常快 - 您需要在键/值对之间使用“&”,因此更改为:
Response.Redirect("~SearchResults.aspx?Weight=" + txtWeight.Text + "&Height=" + txtHeight.Text + "&Age=" + txtAge1.Text + txtAge2.Text + "&Country=" + ddlCountry.SelectedValue);
至于您的 SearchResult.aspx,您需要使用 QueryString 检索值,例如:
string Weight = Request.QueryString["Weight"];
string Height = Request.QueryString["Height"];
...and so on. You use the key from the redirect and the value is returned (setting your string variables).
至于您的查询,您的表格是什么,您到底在寻找什么结果?我知道您有这些标准,但您是否正在寻找与这些标准完全相同的东西?还是接近?我希望这有帮助!
您可以查看支持逗号分隔搜索的http://www.asp.net/ajaxlibrary/AjaxControlToolkitSampleSite/autocomplete/autocomplete.aspx 。
加载列表需要时间,但确实会加载列表。
您甚至可以尝试http://pholpar.wordpress.com/2010/02/25/multivalue-autocomplete-winforms-textbox-for-tagging/示例用于 Winform 必须转换为 Webform。
快乐编码!!!
使用带有数据库搜索结果的 web 方法实现的自动完成文本框搜索。
$(document).ready(function() {
SearchText();
});
function SearchText() {
$(".autosuggest").autocomplete({
source: function(request, response) {
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "Default.aspx/GetAutoCompleteData",
data: "{'username':'" + document.getElementById('txtSearch').value + "'}",
dataType: "json",
success: function(data) {
response(data.d);
},
error: function(result) {
alert("Error");
}
});
}
});
}
[WebMethod]
public static List<string> GetAutoCompleteData(string username)
{
List<string> result = new List<string>();
using (SqlConnection con = new SqlConnection("Data Source=yourserver;Integrated Security=true;Initial Catalog=yourdatabase;User Id=youruserid;Password=yourpassword"))
{
using (SqlCommand cmd = new SqlCommand("select DISTINCT Name from Company where Name LIKE '%'+@SearchText+'%'", con))
{
con.Open();
cmd.Parameters.AddWithValue("@SearchText", username);
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
result.Add(dr["Name"].ToString());
}
return result;
}
}
}
更多详情http://www.infinetsoft.com/Post/How-to-create-autocomplete-textbox-with-database-in-asp-net-c/1254