5
Tôi muốn URL của tôi để sử dụng quy ước:Tuyến đường của tôi có thể sử dụng các thông số tùy chọn ở giữa URL bằng cách sử dụng ASP MVC3 như thế nào?
/{controller}/{id}/{action}
hơn
/{controller}/{action}/{id}
Tôi đã cố gắng thiết lập một lộ trình như sau:
routes.MapRoute(
"Campaign",
"{controller}/{action}/{id}",
new { controller = "Campaign", action = "Index", id = UrlParameter.Optional }
);
Nhưng điều này không làm việc bởi vì tôi không thể thực hiện tham số id tùy chọn.
Các URL sau làm việc:
/campaign/1234/dashboard
/campaign/1234/edit
/campaign/1234/delete
Nhưng các URL không:
/campaign/create
/campaign/indexempty
MVC chỉ gọi Index
cho cả hai. Tôi đang làm gì sai?
Điều đó đã hiệu quả! Sửa đổi nhỏ mã của bạn - Tôi đã đặt tên cho tuyến đầu tiên là "CampaignDetail" để nó không xung đột với tuyến đường thứ hai. – parleer
Ồ, tôi đã bỏ lỡ điều đó. Tôi rất vui vì nó đã giúp. –
Một điều nữa - Có '{controller}/{id}/{action}' đã can thiệp vào tuyến đường mặc định của tôi. Tôi đã có thể khắc phục điều này bằng cách sử dụng rõ ràng từ ** chiến dịch ** trong url của tôi. tức là 'chiến dịch/{id}/{hành động}'. – parleer