0

私の mvc3 アプリには次の URL があります。http://mysite.com/controller/details?id=56

のように検索エンジンフレンドリーにしたい

http://mysite.com/controller/title-of-the-entity-56

どうすれば達成できますか?

4

2 に答える 2

1

新しいルートを設定する必要がありますが、エンティティの ID を自分で解析することを再考することを強くお勧めします。つまり、次のとおりです。

この URL を使用すると、id を数値データ型 (int など) としてアクションに渡すことができます: http://mysite.com/controller/details?id=56

この URL では、ID は文字列の一部としてのみ渡すことができます: http://mysite.com/controller/title-of-the-entity-56

..つまり、文字列を解析し、数値を抽出して変換する必要があります。

この形式を目指す方が良いでしょう: http://mysite.com/controller/details/id/title-of-entity、多少 StackOverflow がそれを行う方法。

Global.asax.cs の既定のルートの上に、次のルートを追加してみてください。

routes.MapRoute(
            "DetailsRoute",
            "details/{id}/{entityTitle}",
            new { controller = "details", action = "Index", id = UrlParameter.Optional }
        );

次に、これを詳細コントローラーのインデックス アクションとして使用できます。

public ActionResult Index(int id, string entityTitle) {

}
于 2012-07-24T22:22:56.217 に答える
0

サイモン ホワイトヘッドに感謝します。まさに私が探していたものです。

以下の投稿で詳しく説明しています

http://www.deliveron.com/blog/post/SEO-Friendly-Routes-with-ASPnet-MVC.aspx

于 2012-07-25T04:37:51.770 に答える