-
25-05-2013, 04:17 PM #1Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Cách rewrite url động trong asp.net mvc 3
Chào các bạn.
Bạn có thể hướng dẫn giúp mình cách Rewrite url động trong asp.net mvc được không.
VD: Mình có một controller là NewsDetail và một method là Detail phương thức này nhập vào một chuỗi có chứ ID sau này mình sẽ cắt lấy ID để thực hiện truy vấn
http://localhost:44290/do-an-chay/thuong-thuc-do-an-chay-tai-ha-noi-18
do-an-chay ở đây là nhóm bài viết có tên là đồ ăn chay
thuong-thuc-do-an-chay-tai-ha-noi-18 tên bài viết cần xem số 18 ở đây là ID của bài viết.
Nếu mà người dùng đọc bài viết ở nhóm khác thì url trên sẽ có kiểu khác
http://localhost:44290/am-thuc-bon-phuong/thuong-luong-kho-to-10
Các tham số parameter giống ở link trên.
Bạn chỉ có mình với yêu cầu của mình là url được rewrite lại theo hai ví dụ trên và nó sẽ gọi đến method Detail trong controller NewsDetail
Mình xin cảm ơn!View more random threads:
- Cách lấy đường dẫn hiện thị như thuộc Tính "Text" của FileUpload?
- Cách điều chỉnh các textbox thẳng hàng trong ASP.NET
- Nhúng SilverLight vào Asp.Net như thế nào?
- ngăn đăng nhập cùng lúc trên 1 tài khoản
- Lỗi Void System.Web.UI.ScriptResourceDefinition.set_LoadSuc cessExpression(System.String) sửa thế nào?
- lỗi submit ko làm việc sau khi validation sai ?
- Lọc dữ liệu bằng textbox đổ vào Gridview dùng sqlDatasource
- Lỗi "This error can be caused by a virtual directory not being configured as an application in IIS" sửa như thế nào?
- Giải pháp nào cho tìm kiếm trong dữ liệu lớn?
- Soạn thảo công thức toán học trong asp.net
-
27-05-2013, 11:40 AM #2Silver member
- Ngày tham gia
- Sep 2015
- Đang ở
- Hà Nội
- Bài viết
- 0
Cảm ơn bạn nhé. Mình đã giải quyết được rồi. Lần trước mình cũng làm vậy nhưng không được nhưng mình phát hiện ra là nếu cái router mình định nghĩa mà để sau cái router default của thì nó không được map thì phải. Mình định nghĩa nó trước cái router default thì được [IMG]images/smilies/17.gif[/IMG]
-
27-05-2013, 06:36 PM #3Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
bạn config trong file global, trong phương thức RegisterRoutes
Mã:public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( "NewsDetail ", "{nhombaiviet}/{alias}-{id}", // URL with parameters new { controller = "NewsDetail ", action = "Detail", id = UrlParameter.Optional }, );}
-
23-05-2014, 02:04 PM #4Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi dangbon
Bây giờ mình truyền thêm
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"NewsDetail ",
"{nhombaiviet}/{alias}-{id}", // URL with parameters
new { controller = "NewsDetail ", action = "Detail", id = UrlParameter.Optional },
);
routes.MapRoute(
"ProductDetail ",
"{nhomsanpham}/{alias}-{id}", // URL with parameters
new { controller = "ProductDetail ", action = "Detail", id = UrlParameter.Optional },
);
}
thì sao nó không chạy được vào controller = "ProductDetail " và action = "Detail" mà nó toàn chạy vào controller = "NewsDetail ", action = "Detail" nhỉ ?
-
26-05-2014, 12:41 PM #5Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi minhvuonghd
để xử lý được thì bạn gọi theo NewsDetail và ProductDetail .
Hoặc bạn cần thay đổi để "{nhombaiviet}/{alias}-{id}" khác "{nhomsanpham}/{alias}-{id}" về cấu trúc. ví dụ như thêm 1 ký hiệu nào đó vào để nó phân biệt
Bất chấp những lầm tưởng phổ quát, hồ hết những người có âm đạo đều khó lên đỉnh khi bị kích thích âm đạo. Tuy nhiên, điều đó không có tức thị nó không thể vui được! Việc xâm nhập vào âm đạo bằng...
Quý bà giải tỏa bằng việc kích...