//
you're reading...
C Sharp .NET, Codes

Tạo Danh Mục Menu Ở Trang Site Master Trong MVC

Trong MVC, vì trang Site Master không có controller nào quản lý để có thể tạo ra một danh mục menu với dữ liệu lấy từ cơ sở dữ liệu (CSDL), hay nói cách khác trang Site Master không phải là một View của một Action trong Controller nào đó. Do đó để tạo một menu như thế, bạn cần tạo ra một View User Control cho 1 một action nào đó trong 1 controller bất kì để hiện thị dữ liệu được lấy ra trừ CSDL, rồi sau đó bạn hiện thị cái View User Control đó bằng hàm RenderAction của lớp Html.

Đầu tiên, bạn cần có 1 action trong 1 controller bất kì để lấy dữ liệu theo yêu cầu lên, ví dụ dưới đây muốn lấy một danh sách các nhà sản xuất trong CSDL:

[ChildActionOnly]
public ActionResult MenuNhaSanXuat()
{
       var viewmodel = storeDB.NhaSanXuats.ToList();
       return View(viewmodel);
}

Tiếp theo, tạo view cho action này, nhớ phải chọn Create a partial view (.ascx) để tạo ra View User Control, ta sẽ có 1 view như sau:

<ul>
<% foreach (var item in Model) { %>
	<li><%= Html.ActionLink(item.NSX_Ten, "LietKe", "NhaSanXuat") %></li>
<% } %>
</ul>

Để hiện thị view trên trong trang Site Master, ta hiện thị view như sau:

<% Html.RenderAction("MenuNhaSanXuat", "NhaSanXuat"); %>

Như vậy, ta đã có được một menu có dữ liệu nạp từ CSDL sẽ được hiện thị ra trong bất kì trang nào, vì được gọi hiện thị trong trang Site Master.

~Fri3ng3R~

Advertisements

Discussion

One thought on “Tạo Danh Mục Menu Ở Trang Site Master Trong MVC

  1. anh ơi, lam demo cho em duoc hok anh

    Posted by phạm quốc vinh | 14.09.2012, 20:21

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: