tôi không thể nhận @Url.Action
để giải quyết cho các url Tôi hy vọng dựa trên các tuyến đường thuộc tính tôi đã áp dụng:MVC Thuộc tính định tuyến với Url.Action không giải quyết đường
hành động của tôi (SearchController nhưng với [RoutePrefix ("thêm ")])
[Route("{searchTerm}/page/{page?}", Name = "NamedSearch")]
[Route("~/add")]
public ActionResult Index(string searchTerm = "", int page = 1)
{
...
}
Gọi để Url.Action
@Url.Action("Index", new { controller = "Search", searchTerm = "replaceMe", page = 1 })
Điều này dẫn đến một url của
/add?searchTerm=replaceMe&page=1
Tôi mong chờ
/add/replaceMe/page/1
Nếu tôi gõ url bằng tay sau đó nó quyết tâm hành động đúng với các thông số chính xác. Tại sao không @Url.Action
giải quyết url chính xác?
Cảm ơn, thêm tên cho cả hai tuyến đường và sử dụng RouteUrl là cách đáng tin cậy duy nhất để làm việc này cho cả hai tuyến đường. – Simon
Đối với những người đến đây và muốn có một tuyến đường đến một hành động trong một ApiController: @ Url.HttpRouteUrl được lừa trong trường hợp này ;-) –
Điều này đã giúp tôi vượt qua đúng tuyến đường đến PagedList Troy Goode. Đã bị đau đầu của tôi trong gần một ngày! – Shiva