Asp.net MVC 5 路由
Asp.net MVC 5 Routing
我是 ASP.net MVC
的新手
我的路由配置在这里
routes.MapRoute(
name: "ItineraryRoute",
url: "{country}/Itinerary/tours/{TourId}",
defaults: new { controller = "TourDetails", action = "Index" }
);
routes.MapRoute(
name: "TourRoute",
url: "{country}/tours",
defaults: new { controller = "Tour", action = "Index" }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
在页面 /Russia/tours
我有一个 link 这是代码行:
<a href="@ViewBag.Country/tours/Itinerary/@tour.Id">Day's By Detail's....</a>
当我点击这个时,页面将 link 到 Url : /Russia/Russia/tours/Itinerary/1
错误 404 未找到 http。
你知道为什么我有两个俄罗斯吗?如何在 'TourDetailsController' 和 'TourId' 中将其修复为 link?
您需要将 /
(正斜杠)附加到 href
值 - 即它的 href="/Russia/tours/Itinerary/1"
,但您应该始终使用 UrlHelper
或HtmlHelper
生成链接的方法
使用Url.Action()
<a href="@Url.Action("Index", "TourDetails", new { country = ViewBag.Country, tourID = tour.Id })">Day's By Detail's....</a>
使用Url.RouteUrl()
<a href="@Url.RouteUrl("ItineraryRoute", new { country = ViewBag.Country, tourID = tour.Id })">Day's By Detail's....</a>
使用Html.Action()
@Html.ActionLink("Day's By Detail's....", "Index", "TourDetails", new { country = ViewBag.Country, tourID = tour.Id }, null)
使用Html.RouteLink()
@Html.RouteLink("Day's By Detail's....", "ItineraryRoute", new { country = ViewBag.Country, tourID = tour.Id })
我是 ASP.net MVC
的新手我的路由配置在这里
routes.MapRoute(
name: "ItineraryRoute",
url: "{country}/Itinerary/tours/{TourId}",
defaults: new { controller = "TourDetails", action = "Index" }
);
routes.MapRoute(
name: "TourRoute",
url: "{country}/tours",
defaults: new { controller = "Tour", action = "Index" }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
在页面 /Russia/tours
我有一个 link 这是代码行:
<a href="@ViewBag.Country/tours/Itinerary/@tour.Id">Day's By Detail's....</a>
当我点击这个时,页面将 link 到 Url : /Russia/Russia/tours/Itinerary/1
错误 404 未找到 http。
你知道为什么我有两个俄罗斯吗?如何在 'TourDetailsController' 和 'TourId' 中将其修复为 link?
您需要将 /
(正斜杠)附加到 href
值 - 即它的 href="/Russia/tours/Itinerary/1"
,但您应该始终使用 UrlHelper
或HtmlHelper
生成链接的方法
使用Url.Action()
<a href="@Url.Action("Index", "TourDetails", new { country = ViewBag.Country, tourID = tour.Id })">Day's By Detail's....</a>
使用Url.RouteUrl()
<a href="@Url.RouteUrl("ItineraryRoute", new { country = ViewBag.Country, tourID = tour.Id })">Day's By Detail's....</a>
使用Html.Action()
@Html.ActionLink("Day's By Detail's....", "Index", "TourDetails", new { country = ViewBag.Country, tourID = tour.Id }, null)
使用Html.RouteLink()
@Html.RouteLink("Day's By Detail's....", "ItineraryRoute", new { country = ViewBag.Country, tourID = tour.Id })