複数のパラメーターMVCルーティング

ニコライ・ソープ・ジェンセン

図書館のようなウェブサイトを作っています。このライブラリでは、記事にカテゴリを含めることができ、そのカテゴリには、「世界>国>都市」のように最大2つの親カテゴリを含めることができます。

という名前のすべての記事について、ビューのすべての表示を単一のコントローラーに保持したいと思いますLibraryControllerそして、使用されている2つのアクションがあるArticle(string id)Category(string[] ids)

「テンプル騎士団」という記事を表示するには、ユーザーは次のように入力する必要があります。 /library/article/the-templar-order

了解しました。これでカテゴリになります。私の頭の中には2つのアプローチがあります。この例は、「都市」カテゴリを表示することです。

  1. 簡単なアプローチ: /library/world-country-city
  2. 私が欲しいもの: /library/world/country/city
  3. 不器用になりすぎるので、私が望まないもの: /library/category/world/country/city

しかし、3つのパラメーターを取り、基本的にアクションを実行しないルートを作成する方法については、少し混乱しています。そして、最初のパラメータ「世界」を除いて、残りはこのように、オプションする必要があります:"/library/world/"> "/library/world/country/">"/library/world/country/city/"

では、どうすればそのようなルートを作成できますか?

解決

RouteConfig.cs

// GET library/article/{string id}
routes.MapRoute(
    name: "Articles",
    url: "Library/Article/{id}",
    defaults: new { controller = "Library", action = "Article", id = "" }
    );

// GET library/
routes.MapRoute(
    name: "LibraryIndex",
    url: "Library/",
    defaults: new { controller = "Library", action = "Index" }
    );

// GET library/category/category/category etc.
routes.MapRoute(
    name: "Category",
    url: "Library/{*categories}",
    defaults: new { controller = "Library", action = "Category" }
    );
Nkosi

これは、次の2つのルートで実現できます。

// GET library/article/the-templar-order
routes.MapRoute(
     name: "Articles",
     url: "Library/Article/{id}",
     defaults: new { controller = "Library", action = "Article" }
 );

// GET library/world/country/city
routes.MapRoute(
     name: "Category",
     url: "Library/{*categories}",
     defaults: new { controller = "Library", action = "Category" }
 );

そして、ターゲットアクションへのわずかな変更

public ActionResult Category(string categories) {
    categories = categories ?? string.Empty;
    var ids = categories.Split(new []{'/'}, StringSplitOptions.RemoveEmptyEntries);
    //...other code
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

複数のパラメーターを使用したMVCルーティングが機能しない

分類Dev

複数のオプションパラメータルーティング

分類Dev

symfony 4ルーティング:複数のスラッシュを持つ複数のパラメーター?

分類Dev

MVCマルチパラメータールーティング

分類Dev

複数のオプションパラメータを持つ関数へのWebAPIルーティング

分類Dev

Flask - 複数のオプション パラメーターを使用したルーティング

分類Dev

Nextjsの複数のパラメーターを使用した動的ルーティング

分類Dev

Codeigniter-複数のパラメーターをルーティングします

分類Dev

Laravelで複数のパラメーターを使用してルーティングすると、他のパラメーターが中断されます

分類Dev

複数のオプションパラメータWebAPI属性ルーティング

分類Dev

パラメータの問題があるMVC5ルーティング

分類Dev

Blazorルーティングの複数のクエリ文字列パラメータ

分類Dev

Express.jsでのルーティング-動的なパラメーター数

分類Dev

パラメンターの数が異なるLaravelルーティング

分類Dev

RESTルーティング-複数の一意のパラメーターを持つエンティティ

分類Dev

Apache Camel +スプリングリモーティング+ jax-ws +複数のパラメーター

分類Dev

セキレイページモデル:外部キーエンティティ+複数のパラメータ

分類Dev

MVCルーティングはパラメーターを削除します

分類Dev

MVC5ルーティング-別のページへのパラメーター

分類Dev

パラメータ付きの PHP ルーティング URL

分類Dev

ASP.NET MVC5でのオプションパラメーターのルーティング

分類Dev

オプションの最初のパラメーターを使用したMVCルーティング

分類Dev

MVCルーティングのオプションの文字列パラメーターと醜いURL

分類Dev

AndroidActionBarパターン-複数のアクティビティまたはフラグメント

分類Dev

MVC代替ルーティングがオプションのパラメーターで失敗する

分類Dev

MVC5ルーティングとオプションのパラメーター

分類Dev

複数のパラメーターのグローバル平均

分類Dev

ActionResult必須パラメーターでオプションのMVCルーティングパラメーター

分類Dev

2つのパラメーターを使用したMVC6属性ルーティング

Related 関連記事

  1. 1

    複数のパラメーターを使用したMVCルーティングが機能しない

  2. 2

    複数のオプションパラメータルーティング

  3. 3

    symfony 4ルーティング:複数のスラッシュを持つ複数のパラメーター?

  4. 4

    MVCマルチパラメータールーティング

  5. 5

    複数のオプションパラメータを持つ関数へのWebAPIルーティング

  6. 6

    Flask - 複数のオプション パラメーターを使用したルーティング

  7. 7

    Nextjsの複数のパラメーターを使用した動的ルーティング

  8. 8

    Codeigniter-複数のパラメーターをルーティングします

  9. 9

    Laravelで複数のパラメーターを使用してルーティングすると、他のパラメーターが中断されます

  10. 10

    複数のオプションパラメータWebAPI属性ルーティング

  11. 11

    パラメータの問題があるMVC5ルーティング

  12. 12

    Blazorルーティングの複数のクエリ文字列パラメータ

  13. 13

    Express.jsでのルーティング-動的なパラメーター数

  14. 14

    パラメンターの数が異なるLaravelルーティング

  15. 15

    RESTルーティング-複数の一意のパラメーターを持つエンティティ

  16. 16

    Apache Camel +スプリングリモーティング+ jax-ws +複数のパラメーター

  17. 17

    セキレイページモデル:外部キーエンティティ+複数のパラメータ

  18. 18

    MVCルーティングはパラメーターを削除します

  19. 19

    MVC5ルーティング-別のページへのパラメーター

  20. 20

    パラメータ付きの PHP ルーティング URL

  21. 21

    ASP.NET MVC5でのオプションパラメーターのルーティング

  22. 22

    オプションの最初のパラメーターを使用したMVCルーティング

  23. 23

    MVCルーティングのオプションの文字列パラメーターと醜いURL

  24. 24

    AndroidActionBarパターン-複数のアクティビティまたはフラグメント

  25. 25

    MVC代替ルーティングがオプションのパラメーターで失敗する

  26. 26

    MVC5ルーティングとオプションのパラメーター

  27. 27

    複数のパラメーターのグローバル平均

  28. 28

    ActionResult必須パラメーターでオプションのMVCルーティングパラメーター

  29. 29

    2つのパラメーターを使用したMVC6属性ルーティング

ホットタグ

アーカイブ