2

コントローラーの 1 つに 2 つのカスタム ルートを作成しようとすると問題が発生します。次の 2 つのケースがあります。

  1. /Register に移動する場合は、Members コントローラーと Index ビューを使用する必要があります。
  2. 誰かが /Register/NY に移動した場合、Members コントローラーと Register ビューを使用し、状態コードをパラメーターとして渡す必要があります。

これが私のglobal.asaxファイルの内容です:

routes.MapRoute(
    "RegisterMap", // Route name
    "Register", // URL with parameters
    new { controller = "Members", action = "Index" } // Parameter defaults    
);

routes.MapRoute(
    "Register", // Route name
    "Register/{stateCode}", // URL with parameters
    new { controller = "Members", action = "Register" } // Parameter defaults       
);

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

/Register/NY に移動するとすべて正常に動作しますが、/Register だけに移動すると 404 エラーが発生します。

私は何を間違っていますか?

4

2 に答える 2

0

シナリオを確認しましたが、正常に動作しています。確認してください。

  1. MemberController クラスは /Controller/ に存在し、Controller を拡張します。
  2. MembersController には、引数がないか、null 可能な引数を持つメソッド Index が含まれています。
  3. インデックス アクション メソッドには HTTPPOST メソッドがありません。[404 エラーが発生する可能性があります。]
于 2012-05-05T17:09:43.437 に答える
0

あなたのルーティングは正しいです。

メンバー コントローラー内に Index アクションがあることを確認します。

于 2012-05-04T22:08:03.693 に答える