Tạo ứng dụng ASP.NET MVC 5 tạo các Url thân thiện với google sử dụng MapRoute và các Url Pattern.
Bước 1: Kích chuột phải vào Solution “Lab02” -> Chọn Add -> Chọn New Project Nhập tên project -> Chọn đường dẫn lưu trữ -> Nhấn OK (xem hình dưới).
Nhấn OK -> màn hình tiếp theo xuất hiện bạn chọn template là MVC sau đó chọn Change Authentication -> No Authentication -> OK -> OK
Bước 2: kích chuột phải vào thưc mục Controller -> chọn Add -> chọn Controller ->Nhập tên Controller -> Add
Bước 3: Mở ProductController nhập code theo gợi ý sau:
public class ProductController : Controller
{
// GET: Product
public ActionResult ShowProduct()
{
return View();
}
// GET: Action sửa sản phẩm
public ActionResult EditProduct( int? productId)
{
ViewBag.id = productId;
return View();
}
//GET: Action chi tiết sản phẩm
public ActionResult DetailsProduct(string productName, int? productId)
{
ViewBag.name = productName;
ViewBag.id = productId;
return View();
}
}
Bước 4: Tạo các View cho các Action trong ProductController.
@{
ViewBag.Title = "ShowProduct";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>Danh Sách Sản Phẩm</h2>
<table class="table table-bordered">
<thead>
<tr>
<th>Mã Sản Phẩm</th>
<th>Têm Sản Phẩm</th>
<th>Lựa Chọn</th>
</tr>
</thead>
<tbody>
@for(int i=1;i<10;i++){
<tr>
<td>@i</td>
<td>Sản Phẩm Thứ @i</td>
<td>
@Html.ActionLink("Chi Tiết", "DetailsProduct", new { productName = "Sản Phẩm Thứ " + @i ,productId = @i}) |
@Html.ActionLink("Sửa", "EditProduct", new { productId=@i})
</td>
</tr>
}
</tbody>
</table>
@{
ViewBag.Title = "EditProduct";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>Sửa thông tin chi tiết sản phẩm </h2><br/>
<h3> Mã Sản Phẩm : @ViewBag.id</h3>
@{
ViewBag.Title = "DetailsProduct";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>Thông Tin Sản Phẩm</h2>
<h3> Mã Sản Phẩm : @ViewBag.id</h3>
<h3> Tên sản phẩm : @ViewBag.name</h3>
Bước 5: Mở Views/Shared/_Layout.cshtml tìm và chỉnh lại như sau:
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li>@Html.ActionLink("Sản Phẩm", "ShowProduct","Product")</li>
</ul>
</div>
Bước 6: Mở tệp tin App_Start/RouteConfig.cs và chèn đoạn MapRoute sau vào trước MapRoute default
//http://domain-name/San-Pham/Danh-Sach-San-Pham
routes.MapRoute(
name: "Show Product",
url: "San-Pham/Danh-Sach-San-Pham",
defaults: new { controller = "Product", action = "ShowProduct" }
);
//http://domain-name/San-Pham
routes.MapRoute(
name: "Product",
url: "San-Pham",
defaults: new { controller = "Product", action = "ShowProduct" }
);
//http://domain-name/San-Pham/Sua/productId
routes.MapRoute(
name: "Edit Product",
url: "San-Pham/Sua/{productId}",
defaults: new { controller = "Product", action = "EditProduct", productId = @"\d{1,4}" }
);
//http://domain-name/San-Pham/productName/productId
routes.MapRoute(
name: "Details Product",
url: "San-Pham/{productName}/{productId}",
defaults: new { controller = "Product", action = "DetailsProduct", productName = (string)null, productId = @"\d{1,4}" }
);
Bước 7: Chạy và quan sát kết quả
Phần II Bài tập tự làm
Bài 2.1 : Tạo ứng dụng MVC thực hiện các yêu cầu
HẾT
Nguồn: Devmaster Academy