如何在asp.net中使用ajax auto complete extender? [英] How to use ajax auto complete extender in asp.net?

查看:87
本文介绍了如何在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆