آموزش پیاده سازی صفحه جستجو به صورت Auto Complete با Ajax در Asp.Net
0 0

آموزش پیاده سازی صفحه جستجو به صورت Auto Complete با Ajax در Asp.Net


آموزش پیاده سازی صفحه جستجو به صورت Auto Complete با Ajax در Asp.Net

در این پست قصد داریم تا چگونه پیاده سازی یک جستجوگر با Ajax رابرای شما آموزش دهیم تا در هنگام جستجو به صورت خودکار مقادیر جستجو را نمایش دهد.

این جستجو به گونه ای کار میکند که با وارد کردن چند حرف به صورت خودکار تمامی مطالب مشابه را از پایگاه داده پیمایش و برای کاربر به نمایش می گذارد.

ابتدا در ویژوال یک پروژه جدید با نام IranGanjAutoComplate ایجاد می کنیم.

آموزش پیاده سازی صفحه جستجو به صورت Auto Complete با Ajax در Asp.Net

داخل پروژه یک وب فرم با نام AutoIranGanj اضافه نموده و یک پایگاه داده با نام iranganj_auto طراحی می نماییم.

آموزش پیاده سازی صفحه جستجو به صورت Auto Complete با Ajax در Asp.Net

 

 

داخل پایگاه یک جدول طبق تصویر زیر ایجاد خواهیم کرد.

آموزش پیاده سازی صفحه جستجو به صورت Auto Complete با Ajax در Asp.Net

در ادامه باید به رفرنس برنامه یک کلاس برای Ajax اضافه کنیم. ما از AjaxControlToolkit استفاده می کنیم.

آموزش پیاده سازی صفحه جستجو به صورت Auto Complete با Ajax در Asp.Net

 پس از مراحل بالا حالا برای فراخوانی AjaxControlToolkit در صفحه از ScriptManager استفاده می کنیم.

آموزش پیاده سازی صفحه جستجو به صورت Auto Complete با Ajax در Asp.Net

خب برای قسمت جستجو که در اختیار کاربر قرار میگیره از یک  Table می خواهیم استفاده کنیم.

<table>
    <tr>
        <td></td>
        <td>

            <asp:Label ID="lbltitr" runat="server" ForeColor="#fff"
                       style="font-weight: 700" Text="سایت اموزشی ایران گنج"></asp:Label>
        </td>
        <td></td>
    </tr>
    <tr>
        <td></td>
        <td>
            <asp:Label ID="lblserch" runat="server" ForeColor="#FF3399"
                       style="font-weight: 700" Text="جستجو براساس نام"></asp:Label>
        </td>
        <td></td>
    </tr>
    <tr>
        <td></td>
        <td>

            <asp:TextBox CssClass="newtab-search-text" ID="txtserch" runat="server"></asp:TextBox>
            <asp:AutoCompleteExtender ID="autocompelte" runat="server"
                                      ServiceMethod="getdata" TargetControlID="txtserch" EnableCaching="true"
                                      CompletionInterval="1000" MinimumPrefixLength="1" CompletionSetCount="1">

            </asp:AutoCompleteExtender>
            <br />
        </td>
        <td></td>
    </tr>
</table>

نکته :

TargetControlID باید مقدار آن دقیقا با ID تکست باکس مورد نظر برای جستجو یکی باشد.

Completion Interval مقدار زمان برای پیمایش و نمایش از پایگاه  می باشد.

MinimumPrefixLength تعدا کاراکتری که میخواهیم شمارش شود و پیمایش رخ دهد.

 

خب تا اینجا صفحه جستجو سمت کاربر آماده شده حالا کافی است تا وارد کلاینت شده و دستور جستجو را اضافه کنیم.

ابتدا Using های زیر را اضافه می کنیم.

using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Web.Script.Services;

و بعد از ان یک تابع به صورت زیر طراحی و می نویسیم.

public static List<string> getdata(string prefixText)
   {

       SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=iranganj_auto;Integrated Security=True");
       con.Open();
       SqlCommand cmd = new SqlCommand("select * from Tbl_Auto where NameAuto like @NameAuto+'%'", con);
       cmd.Parameters.AddWithValue("@NameAuto", prefixText);
       SqlDataAdapter sda = new SqlDataAdapter(cmd);
       DataTable dt = new DataTable();
       sda.Fill(dt);
       List<string> NameAuto = new List<string>();
       for (int i = 0; i < dt.Rows.Count; i++)
           {
              NameAuto.Add(dt.Rows[i][1].ToString());
           }
       return NameAuto;
    }

نکات :

نام انتخابی getdata برای این تابع باید با Service Method در کد قبلی یکسان باشد.

کوئری مورد نظر به صورتی است که همان حروف ابتدایی مطالب را مورد جستجو قرار میدهد.

پس از پیمایش موارد یافت شده به لیست دوم پاس داده میشود و در حلقه For به نمایش گذاشته می شود.

 در آخر کافی است تا موارد زیر را قبل از تابع getdata که نوشتیم اضافه کنیم.

[System.Web.Script.Services.ScriptMethod()]
[System.Web.Services.WebMethod()]

تصویر فرایند حاصل از کار:

آموزش پیاده سازی صفحه جستجو به صورت Auto Complete با Ajax در Asp.Net

 

دانلود

نویسنده علی بهارلویی
گروه مطلب Asp.Net
نوع مطلب سورس کد و آموزش
تاریخ انتشار ۸ شهریور ۱۳۹۴
منبع ایران گنج
تعداد نظرات ۰
قیمت کاربران عضو سایت
توضیح توجه:
  • زمانی که روی لینک دانلود کلیک می کنید لینک دانلود به مدت 24 ساعت معتبر خواهد بود
  • لینک های دانلود دوره های آموزشی تا پایان دوره قابل دانلود می باشد.
  • برای خارج کردن فایل ها از حالت فشرده از ورژن جدید نرم افزار winrar استفاده کنید.
  • برای خارج کردن فایل ها از حالت فشرده لینک های دانلودی که چندین قسمت می باشند فقط قسمت اول را از حالت فشرده خارج کنید.
  • لطفا توضیحات نوشته شده برای مطالب را با دقت بخوانید.
  • برای نمایش فیلم ها می توانید از نرم افزار هایی مانند Km Player , VLC Player یا Media Player Classic استفاده کنید.

نظر / سوال

Captcha