2

mvc での典型的なコントローラー/アクション/ID ルーティングを考えると、説明テキストを追加して、URL がタイプになるようにします

 mySite.com/home/page/myarg/the-title-of-the-page-etc.

これは SO に似ており、フォームは次のとおりです。

 stackoverflow.com/questions/928349234/the-text-of-the-question-etc.

これは簡単に行うことができますが

  Html.ActionLink(LinkText, "Page", new { id = "myArg" } ) + "/" + myUrlText

独自の拡張機能を展開する前に、英数字以外の文字などを削除できる可能性がある既存の拡張機能を探しています。

4

1 に答える 1

2

そのように ActionLink にテキストを追加したくはありません。ルーティングを使用すると、目的を達成できます。次のように、デフォルト ルートの上にある Global.asax RegisterRoutes メソッドに新しいルートを追加します。

routes.MapRoute("Page", "home/page/{id}/{title}",
            new { controller = "Home", action = "Page", id = UrlParameter.Optional, title = UrlParameter.Optional });

次に、ActionLink を次のように設定します。

@Html.ActionLink("SomeText", "Page", new { controller = "Home", id = b.Key, title = Model.Title})
于 2013-05-08T19:22:45.180 に答える