0

内部にこのルート値がありますGlobal.asax

routes.MapRoute(
    "Default", // Route name
    "{controller}/{action}/{id}", // URL with parameters
    new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);

routes.MapRoute(
    "Edit", // Route name
    "Admin/{controller}/{action}/{id}", // URL with parameters
    new { controller = "Edit", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);

そして、この ActionLink メソッドを使用して Edit ルートを呼び出します

@Html.ActionLink("Edit", "Topic", "Edit", new { id = item.ID })

生成されたリンクの結果は次のようになります...

http://localhost:777/Admin/Topic?Length=4

ActionLink メソッドを使用して、ルートとターゲットを適切に使用する方法。

ありがとう!

4

1 に答える 1

3

の正しいオーバーロードを使用してActionLink、意図した結果を得る

@Html.ActionLink("Edit", "Topic", "Edit", new { id = item.ID }, null)

オーバーロードはActionLink(string linkText, string actionName, string controllerName, object routeValues, object htmlAttributes)

nullアクションにパラメータを指定する場合は、 as null HTML 属性を追加する必要があります。または、実際に HTML 属性をリンクに適用する必要がある場合は、次を使用します。

@Html.ActionLink("Edit", "Topic", "Edit", new { id = item.ID }, new { @class = "MyCustomCssClassName" } )
于 2012-08-03T17:36:11.763 に答える