Tin tức

Điền danh sách sử dụng CascadingDropDown

08/04/2013

Tổng quan

Điều khiển CascadingDropdown trong  AJAX Control Toolkit mở rộng một điều khiển DropDownList để thay đổi cách tải DropDownList với các giá trị phù hợp trong DropDownList khác. (Ví dụ, một danh sách cung cấp một danh sách các tỉnh, và danh sách tiếp theo sau đó lấy các quận, huyện trong tỉnh đó.) Thách thức đầu tiên để giải quyết là để thực sự điền vào một danh sách thả xuống sử dụng điều khiển này.
Các bước

Theo thứ tự để kích hoạt chức năng của ASP.NET AJAX và Control Toolkit, điều khiển ScriptManager phải được đặt vào bất kỳ đâu trên trang (nhưng bên trong thẻ form):

<asp:ScriptManager ID="asm" runat="server" />

Sau đó, cần thêm một điều khiển DropDownList control:

<div>
 Vendor: <asp:DropDownList ID="VendorsList" runat="server" />
</div>

Đối với danh sách này, một CascadingDropdown mở rộng được thêm vào. Nó sẽ gửi một yêu cầu bất đồng bộ với dịch vụ web mà sau đó sẽ trả về một danh sách các mục được hiển thị trong danh sách. Để làm việc này, các thuộc tính CascadingDropdown sau đây cần phải được thiết lập

 ServicePath: URL của một web service cung cấp các mục thông tin danh sách
 ServiceMethod: Phương thức cung cấp mục tin danh sách
 TargetControlID: ID của danh sách dropdown list
 Category: Danh mục thông tin được submit cho phương thức web khi được gọi
 PromptText: Văn bản được hiển thị khi danh sách đang tải dữ liệu bất đồng bộ từ máy chủ 

 Đây là thẻ đánh dâu CascadingDropDown. Chỉ khác giữa C# và VB là tên dịch vụ liên quan:
<ajaxToolkit:CascadingDropDown ID="ccd1" runat="server"
 ServicePath="CascadingDropdown0.cs.asmx" ServiceMethod="GetVendors"
 TargetControlID="VendorsList" Category="Vendor" />

Mã JavaScript đến từ  CascadingDropDown gọi một phươn thức web service với ký pháp sau:
public CascadingDropDownNameValue[] MethodNameHere(string knownCategoryValues,
 string category)

Vì vậy, các khía cạnh quan trọng là phương thức này cần phải trả lại một mảng của các loại CascadingDropDownNameValue (được định nghĩa bởi ASP.NET AJAX Control Toolkit). Trong hàm tạo CascadingDropDownNameValue, đầu tiên văn bản mục nhập danh sách và sau đó giá trị của nó phải được cung cấp, dưới dạng <option value="VALUE"> NAME </ div> thực hiện trong HTML. Đây là một số dữ liệu mẫu:

<%@ WebService Language="C#" Class="CascadingDropdown0" %>
using System.Web.Script.Services;
using AjaxControlToolkit;
using System;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Collections.Generic;
[ScriptService]
public class CascadingDropdown0 : System.Web.Services.WebService
{
 [WebMethod]
 public CascadingDropDownNameValue[] GetVendors(string knownCategoryValues,
 string category)
 {
 List<CascadingDropDownNameValue> l = new List<CascadingDropDownNameValue>();
 l.Add(new CascadingDropDownNameValue("International", "1"));
 l.Add(new CascadingDropDownNameValue("Electronic Bike Repairs & Supplies", "2"));
 l.Add(new CascadingDropDownNameValue("Premier Sport, Inc.", "3"));
 return l.ToArray();
 }
}

Tải trang trong trình duyệt sẽ kích hoạt danh sách ddwwocj điền với ba mục tin.

Thiet ke web mien phi,  Hoc thiet ke web

Công ty Cổ phần Eastern Sun Việt Nam