如何在asp.net中使用ajax auto complete extender? [英] How to use ajax auto complete extender in asp.net?
本文介绍了如何在asp.net中使用ajax auto complete extender?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试从数据库中搜索数据但是能够得到结果。请任何人帮我。
提前预付
I am trying to search data from database but enable to get the result.Please could any body help me.
thanx in advance
<asp:TextBox ID="txtlicense" runat="server"></asp:TextBox>
<ajax:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server" TargetControlID="txtlicense"
MinimumPrefixLength="1" EnableCaching="true" ServicePath="WebService.asmx"
ServiceMethod="GetLicense" CompletionInterval="100"
CompletionSetCount="10" >
</ajax:AutoCompleteExtender>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
/// <summary>
/// Summary description for WebService
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
// [System.Web.Script.Services.ScriptService]
public class WebService : System.Web.Services.WebService {
public WebService () {
//Uncomment the following line if using designed components
//InitializeComponent();
}
[WebMethod]
public List<string> GetLicense(string prefixText)
{
SqlConnection con = new SqlConnection("Data Source=.;Integrated Security=True;Initial Catalog=LicenseManagementSystem");
con.Open();
SqlCommand cmd = new SqlCommand("select LicenseNumber from LicenseDetails where LicenseNumber like @license+'%'", con);
cmd.Parameters.AddWithValue("@license", prefixText);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
List<string> license = new List<string>();
for (int i = 0; i < dt.Rows.Count; i++)
{
license.Add(dt.Rows[i][1].ToString());
}
return license;
}
}
推荐答案
http://www.aspdotnet-suresh.com/2011/05/ajax-autocompleteextender-sample。 html [ ^ ]
/ * autocomlete扩展器代码填充文本框* /
/ *从数据库获取结果的Web方法* /
[WebMethod]
public string [] GetCompletionList(string prefixText,int count)
{
// ADO.Net
SqlConnection cn = new SqlConnection();
DataSet ds = new DataSet();
DataTable dt = new DataTable();
String strCn =Data Source = db; Initial Catalog = dbb; User ID = sa; Password = dd @ 123;
cn.ConnectionString = strCn;
SqlCommand cmd = new SqlCommand();
cmd.Connection = cn;
cmd.CommandType = CommandType.Text;
cmd.CommandText =从tbl_EmpMaster WHERE中选择名称(名称LIKE'%'+ @ myParameter +'%')AND(IsActive = 1);
cmd.Parameters.AddWithValue( @myParameter,prefixText);
试试
{
cn.Op en();
cmd.ExecuteNonQuery();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
}
catch(例外情况)
{
返回0;
}
终于
{
cn.Close();
}
dt = ds.Tables [0];
//然后返回字符串列表(txtItems)作为结果
List< string> txtItems = new List< string>();
String dbValues;
foreach(dt.Rows中的DataRow行)
{
//来自DataBase的字符串(dbValues)
dbValues = row [Name]。ToString();
// dbValues = dbValues();
txtItems.Add(dbValues);
}
返回txtItems .ToArray();
}
/ * Aspx页码* /
/*Code for autocomlete extender to fill textbox*/
/*Web method for getting our result from database*/
[WebMethod]
public string[] GetCompletionList(string prefixText, int count)
{
//ADO.Net
SqlConnection cn = new SqlConnection();
DataSet ds = new DataSet();
DataTable dt = new DataTable();
String strCn = "Data Source=db;Initial Catalog=dbb;User ID=sa;Password=dd@123";
cn.ConnectionString = strCn;
SqlCommand cmd = new SqlCommand();
cmd.Connection = cn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = "select Name from tbl_EmpMaster WHERE (Name LIKE '%' + @myParameter + '%') AND (IsActive=1)";
cmd.Parameters.AddWithValue("@myParameter", prefixText);
try
{
cn.Open();
cmd.ExecuteNonQuery();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
}
catch (Exception ex)
{
return 0;
}
finally
{
cn.Close();
}
dt = ds.Tables[0];
//Then return List of string(txtItems) as result
List<string> txtItems = new List<string>();
String dbValues;
foreach (DataRow row in dt.Rows)
{
//String From DataBase(dbValues)
dbValues = row["Name"].ToString();
//dbValues = dbValues();
txtItems.Add(dbValues);
}
return txtItems.ToArray();
}
/*Aspx page code*/
搜索名称:
asp:TextBox ID =txtSearchnamerunat =serverclass =form-control input-sm m-bot15
OnTextChanged =txtSearchname_TextChangedAutoPostBack =trueFont-Bold =true
asp:AutoCompleteExtender runat =serverBehaviorID =AutoCompleteEx1ID =autoComplete1
TargetControlID =txtSearchnameServicePath = ../AutoCompleteText.asmx
ServiceMethod =GetCompletionListMinimumPrefixLength =1CompletionInterval =100
EnableCaching =trueCompletionSetCount =10CompletionListCssClass =autocomplete_completionListElement
CompletionListItemCssClass =autocomplete_listItemCompletionListHighlightedItemCssClass =autocomplete_highlightedListItem
ShowOnlyCurrentWordInCompletionListItem =true
Search Name:
asp:TextBox ID="txtSearchname" runat="server" class="form-control input-sm m-bot15"
OnTextChanged="txtSearchname_TextChanged" AutoPostBack="true" Font-Bold="true"
asp:AutoCompleteExtender runat="server" BehaviorID="AutoCompleteEx1" ID="autoComplete1"
TargetControlID="txtSearchname" ServicePath="../AutoCompleteText.asmx"
ServiceMethod="GetCompletionList" MinimumPrefixLength="1" CompletionInterval="100"
EnableCaching="true" CompletionSetCount="10" CompletionListCssClass="autocomplete_completionListElement "
CompletionListItemCssClass="autocomplete_listItem" CompletionListHighlightedItemCssClass="autocomplete_highlightedListItem"
ShowOnlyCurrentWordInCompletionListItem="true"
这篇关于如何在asp.net中使用ajax auto complete extender?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文