Ajax Control Toolkit AutoComplete Extender Control برای انجام عملیات تکمیل خودکار به Text Box متصل شده است. این کلمات را در هنگام وارد کردن نشان می دهد. به عنوان مثال، کلمات کلیدی پیشنهادی در جعبه متن. همانطور که من آن را برای کشورها پیکربندی کرده ام و کلمه کلیدی pa را وارد کرده ام، لیستی را نشان می دهد که شامل تمام کشورهایی است که در نام آنها "pa" وجود دارد.
پس از واکشی از وب سرویس، لیست کشویی کلمات پیشنهادی را بر اساس کلمه کلیدی ایجاد می کند.
شما می توانید در قسمت های قبلی من در اینجا بیشتر بیاموزید،
- آموزش AJAX Control Toolkit: مقدمه - قسمت اول
- آموزش ابزار کنترل AJAX: آکاردئون - قسمت دوم
- آموزش AJAX Control Toolkit: AjaxFileUpload - قسمت سوم
- آموزش AJAX Control Toolkit: AlwaysVisibleControl- قسمت چهارم
- آموزش AJAX Control Toolkit: AnimationExtender- قسمت پنجم
- آموزش AJAX Control Toolkit: AreaChart - قسمت ششم
- آموزش AJAX Control Toolkit: AsyncFileUpload - قسمت هفتم
بهترین چیز در مورد تکمیل خودکار این است که وقتی کلمات تکراری را در یک کنترل توسعه دهنده تکمیل خودکار تایپ می کنید، تماس جدیدی برقرار نمی کند بلکه آن را از حافظه پنهان نشان می دهد.
از خدمات وب و نام روش برای واکشی لیست مورد نیاز برای بازگشت استفاده می کند.
اکنون کد اولیه را با خروجی آن بررسی می کنیم.
- <asp:TextBox ID="myTextBox" runat="server"></asp:TextBox>
- <div class="row">
- <div id="ajaxcontroltoolkitplaceholder">
- <ajaxToolkit:AutoCompleteExtender runat="server" ID="autoComplete1" TargetControlID="myTextBox" ServiceMethod="GetCountriesList" ServicePath="AutoComplete.asmx" MinimumPrefixLength="2" ShowOnlyCurrentWordInCompletionListItem="true">
- </ajaxToolkit:AutoCompleteExtender>
- </div>
- </div>
خروجی
بنابراین، بیایید شروع کنیم به بررسی جزئیات خواص آن.
- TargetControlID
این کنترل Text Box است که در آن یک توسعه دهنده تکمیل خودکار با تایپ کلمات کلیدی پیشوند کار می کند.
- <asp:TextBox ID="myTextBox" runat="server"></asp:TextBox>
- ServiceMethod
این روش وب سرویس است که باید فراخوانی شود. می توان از همان امضا استفاده کرد، همانطور که در زیر نشان داده شده است:
ServiceMethod="GetCountriesList"
- [System.Web.Services.WebMethod]
- [System.Web.Script.Services.ScriptMethod]
- public string[] GetCountriesList(string prefixText, int count)
- {... }
توجه داشته باشید که میتوانید «GetCountriesList» را با نام انتخابی خود جایگزین کنید، اما نوع بازگشتی، نام پارامتر و نوع باید دقیقاً مطابقت داشته باشند، از جمله حروف بزرگ.
- ServicePath
این مسیری است که سرویس در مسیر Application یا http قرار دارد. اگر مسیر سرویس تعریف نشده باشد، باید متد page فراخوانی شود.ServicePath="AutoComplete.asmx"
اگر سرویس شما در یک ساختار دایرکتوری است، مسیر کامل سرویسی که به آن اشاره می کند را ذکر کنید.
- ContextKey
اگر می خواهید از پارامتر دیگری استفاده کنید، Web Method می تواند با کمک کلید زمینه به آن دست یابد. باید دارای امضای یکسان با یک پارامتر اضافی به نام contextKey از نوع رشته باشد.ServiceMethod="GetCountriesList"
- [System.Web.Services.WebMethod]
- [System.Web.Script.Services.ScriptMethod]
- public string[] GetCountriesList(string prefixText, int count,string contextKey)
- {... }