我有點掙扎在ASP.NET MVC4中獲取動作url。Razor語法 - ActionLink不顯示正確的鏈接
我使用下面的剃刀語法創建鏈接:
@Html.ActionLink("some text", "Create", "Reports")
輸出我得到的是:
<a href="/?action=Create&controller=Reports">some text</a>
我要的是:
<a href="/Reports/Create">some text</a>
什麼想法,有什麼我失蹤了?
UPDATE:
RouteConfig是如下:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
// ignoring .aspx, .asmx files
routes.IgnoreRoute("{resource}.aspx/{*pathInfo}");
routes.IgnoreRoute("{resource}.asmx/{*pathInfo}");
routes.MapPageRoute("DefaultRoute", string.Empty, "~/Default.aspx");
routes.MapPageRoute("MapsRoute", "Map", "~/Default.aspx");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Reports", action = "Index", id = UrlParameter.Optional }
);
}
月2日更新
,如果我的評論從以下途徑配置線,我得到的網址,如預期。任何想法爲什麼?
routes.MapPageRoute("DefaultRoute", string.Empty, "~/Default.aspx");
routes.MapPageRoute("MapsRoute", "Map", "~/Default.aspx");
你能告訴我們你的路由是如何配置? – rla4
由於rla4表明它可能是一個路線問題,我認爲這個問題是你的路線。你有'ActionLink'幫手的正確語法。 –