توضیحات و دانلود

استفاده از AutoCompleteExtender در جعبه ابزار AJAX بدون استفاده از Web Services در ASP.Net
0 0
استفاده از AutoCompleteExtender در جعبه ابزار AJAX بدون استفاده از Web Services در ASP.Net

با سلام دراین مقاله استفاده از AutoCompleteExtender در جعبه ابزار AJAX بدون استفاده از Web Services در ASP.Net را توضیح می دهیم
بانک اطلاعاتی
برای این آموزش، از پایگاه داده NorthWind استفاده می کنم که می توانید با استفاده از لینک زیر آن را دانلود کنید .
دانلود Northwind پایگاه داده

رشته اتصال
هنگامی که پایگاه داده دانلود می شود می توانید آن را به نمونه SQL Server خود پیوست کنید. از SQL Server 2005 Express استفاده می کنیم از این رو در زیر Connection string است.

<connectionStrings>
      <addname="constr"connectionString="Data Source = .\SQLExpress;
       Initial Catalog = Northwind; Integrated Security = true"/>
</connectionStrings>

جعبه ابزار کنترل AJAX
DLL Toolkit AJAX Control را با استفاده از لینک زیر دانلود کنید و مرجع پروژه خود را اضافه کنید.
دانلود AJAX Control Tookit 
پس از انجام این کار، آن را در صفحه ASPX ثبت کنید

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>

 کد HTML
در زیر کد HTML ASP.Net وب سایت است  

<asp:ScriptManager ID="ScriptManager1" runat="server"
EnablePageMethods = "true">
</asp:ScriptManager>
 
<asp:TextBox ID="txtContactsSearch" runat="server"></asp:TextBox>
<cc1:AutoCompleteExtender ServiceMethod="SearchCustomers"
    MinimumPrefixLength="2"
    CompletionInterval="100" EnableCaching="false" CompletionSetCount="10"
    TargetControlID="txtContactsSearch"
    ID="AutoCompleteExtender1" runat="server" FirstRowSelected = "false">
</cc1:AutoCompleteExtender>

 همانطور که در بالا متوجه شوید، یک ScriptManager، یک TextBox که به عنوان AutoComplete وکنترل   AJAX AutoKumpteExtender Toolkit عمل می کند، قرار داده اید. همچنین روش CallCustomer  را با استفاده از ویژگی ServiceMethod فراخوانی می کنیم .
روشهای Server Side
روش زیر برای پر کردن فهرست کامل خودکار مشتری ها استفاده می شود
C #

[System.Web.Script.Services.ScriptMethod()]
[System.Web.Services.WebMethod]
public static List<string> SearchCustomers(string prefixText, int count)
{
    using (SqlConnection conn = new SqlConnection())
    {
        conn.ConnectionString = ConfigurationManager
                .ConnectionStrings["constr"].ConnectionString;
        using (SqlCommand cmd = new SqlCommand())
        {
            cmd.CommandText = "select ContactName from Customers where " +
            "ContactName like @SearchText + '%'";
            cmd.Parameters.AddWithValue("@SearchText", prefixText);
            cmd.Connection = conn;
            conn.Open();
            List<string> customers = new List<string>();
            using (SqlDataReader sdr = cmd.ExecuteReader())
            {
                while (sdr.Read())
                {
                    customers.Add(sdr["ContactName"].ToString());
                }
            }
            conn.Close();
            return customers;
        }
    }
}

VB.Net

<System.Web.Script.Services.ScriptMethod(), _
System.Web.Services.WebMethod()> _
Public Shared Function SearchCustomers(ByVal prefixText As String, ByVal count As Integer) As List(Of String)
    Dim conn As SqlConnection = New SqlConnection
    conn.ConnectionString = ConfigurationManager _
         .ConnectionStrings("constr").ConnectionString
    Dim cmd As SqlCommand = New SqlCommand
    cmd.CommandText = "select ContactName from Customers where" & _
        " ContactName like @SearchText + '%'"
    cmd.Parameters.AddWithValue("@SearchText", prefixText)
    cmd.Connection = conn
    conn.Open()
    Dim customers As List(Of String) = New List(Of String)
    Dim sdr As SqlDataReader = cmd.ExecuteReader
    While sdr.Read
            customers.Add(sdr("ContactName").ToString)
    End While
    conn.Close()
    Return customers
End Function

روش فوق به سادگی مشتریان جدول را جستجو می کند و لیست نام های مشتری را در متن پیشوند با هم مقایسه می کند، باز می گرداند.
نکته:

بسیار مهم است که همانند روشی که در بالا ذکر شد عمل کنید . این روش باید دارای دو پارامتر باشد :
1. prefixText (رشته)
2. تعداد (int)

در غیر این صورت این روش با AutoCompleteExtender کار نخواهد کرد.

 


دانلود
  • لینک های دانلود دوره های آموزشی تا پایان دوره قابل دانلود می باشد.
  • برای خارج کردن فایل ها از حالت فشرده از ورژن جدید نرم افزار winrar استفاده کنید.
  • برای خارج کردن فایل ها از حالت فشرده لینک های دانلودی که چندین قسمت می باشند فقط قسمت اول را از حالت فشرده خارج کنید.
  • لطفا توضیحات نوشته شده برای مطالب را با دقت بخوانید.
  • برای نمایش فیلم ها می توانید از نرم افزار هایی مانند Km Player , VLC Player یا Media Player Classic استفاده کنید.

ارسال نظر
ارسال پیام به :