ホームページ  >  に質問  >  本文

asp.net-mvc - asp.net mvc でルーティングを行う方法は?

Asp.net mvc は通常

コントローラー/アクション/パラメーター

住所フォーム

しかし、ほとんどの場合、Web サイトのアドレスはそのようなパスではありません

例:

xxxx.com/asp.net/
xxxx.com/asp.net/mvc/
xxxx.com/asp.net/webform/
xxxx.com/asp.net/ado.net/

xxxx.com/javascript/
xxxx.com/javascript/jquery/
xxxx.com/javascript/angularjs/
xxxx.com/javascript/jichu/

xxxx.com/jiaoyu/

現時点では、アドレスはコントローラー/アクション/パラメーターの形式ではありません

asp.net mvc でこの種のパスをマッピングする方法がわかりません。 ? ?

为情所困为情所困2737日前576

全員に返信(1)返信します

  • 阿神

    阿神2017-05-16 17:08:19

    これは、ルーティング ルールの定義方法とルートが定義される順序によって異なります。
    この要求が ASP.NET パイプライン モデルに入ると、事前に定義されたルートに移動して照合が実行され、最初に一致するルートが見つかると、ルーティング結果が直接返されます。
    たとえば、デフォルト ルートの最初のルーティング ルールは次のとおりです:

    リーリー

    xxxx.com/asp.net/ は、このルーティング ルール、controller="asp.net"、action="Login";
    に一致します。 xxxx.com/asp.net/mvc/ は、このルーティング ルール、controller="asp.net"、action="mvc"; にも一致します。

    別のルーティング ルールを定義し、このルーティング ルールが今のルーティング ルールの前にあるとします。

    リーリー

    xxxx.com/asp.net/ は、このルーティング ルール、controller="User"、action="Link";
    に一致します。 ただし、xxxx.com/cast/ は最初のルーティング ルールとは一致しませんが、2 番目のルーティング ルールとは引き続き一致します。controller="cast"、action="Login"

    この問題については、「Mastering the ASP.NET MVC3 Framework」の第 11 章ルーティング ルールを読むことをお勧めします。

    返事
    0
  • キャンセル返事