1. Trang chủ
  2. » Công Nghệ Thông Tin

MVC4Seminar lab7

3 394 8

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 3
Dung lượng 1,01 MB

Nội dung

ThS. CNTT: Nguyễn Nghiệm – nghiemn@fpt.edu.vn Trang 1 BÀI 7: TÌM KIẾM HÀNG HÓA MỤC TIÊU  Biết cách xây dựng trang Action tiếp nhận và phân biệt tham số vào để xây dựng kết quả tìm kiếm phù hợp với điều kiện mong muốn. MÔ TẢ Trong bài này bạn phải hiệu chỉnh mã nguồn của Action Search trong ProductController để có thể tiếp nhận các yêu cầu từ:  Nhấp 1 loại: xem hàng theo chủng loại  Nhấp 1 nhà cung cấp: xem hàng theo nhà cung cấp  Nhấp chuỗi tìm kiếm: xem hàng có tên chứa chuỗi tìm kiếm Tìm theo tên Tìm theo loại Tìm theo nhà cung cấp Sau đây là trang hàng hóa khi nhấp liên kết chủng loại Cameras ThS. CNTT: Nguyễn Nghiệm – nghiemn@fpt.edu.vn Trang 2 THỰC HIỆN  Bước 1: Hoàn thiện _Search.cshtml  Bước 2: Nâng cấp mã Action Search của ProductController Bước 1: Hoàn thiện _Search.cshtml Mở _Search.cshtml trong Views/Shared và hoàn thiện mã nguồn như sau để khi submit form sẽ gọi action Search() của ProductController và truyền theo tham số Search. <div class="art-vmenublock clearfix"> <div class="art-vmenublockheader"> <h3 class="t">Search</h3> </div> <div class="art-vmenublockcontent nn-search"> <form action="/Product/Search"> @Html.TextBox("Search") </form> </div> </div> ThS. CNTT: Nguyễn Nghiệm – nghiemn@fpt.edu.vn Trang 3 Bạn cũng đã hoàn thiện Layout với _Category.cshtml và _Supplier.cshtml cũng gọi về action Search() của ProductController với các mẫu liên kết:  <a href="/Product/Search?CategoryId=@c.Id">@c.Name</a>  <a href="/Product/Search?SupplierId=@s.Id">@s.Name</a> Bước 2: Nâng cấp mã Action Search của ProductController Để tạo ra kết quả tìm kiếm khác nhau dựa vào tham số yêu cầu (Search, CategoryId và SupplierId), bạn cần hiệu chỉnh mã của action Search() như sau: public ActionResult Search() { if (Request["CategoryId"] != null) // tìm theo loại { int CategoryId = int.Parse(Request["CategoryId"]); Session["products"] = db.Products .Where(p => p.CategoryId == CategoryId).ToList(); } else if (Request["SupplierId"] != null) // tìm theo nhà cung cấp { String SupplierId = Request["SupplierId"]; Session["products"] = db.Products .Where(p => p.SupplierId == SupplierId).ToList(); } else if (Request["Search"] != null) // tìm theo tên { String Search = Request["Search"]; Session["products"] = db.Products .Where(p => p.Name.Contains(Search)).ToList(); } else if(Session["products"] == null) { Session["products"] = db.Products.ToList(); } var products = Session["products"] as List<Product>; var pager = Pager.Set("pager1", 6, 5, products.Count); return View(products.Skip(pager.StartRow).Take(pager.PageSize)); } Mã của action cũng duy trì kết quả tìm kiếm trong Session để khi chuyển trang không bị mất điều kiện tìm kiếm.

Ngày đăng: 17/03/2014, 00:31

Xem thêm

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w