私は.net mvcには初めてです。 一言で言えば、私は自分のウェブサイトを見て、人々がタイプすることができるようにしたいと思います: mywebsite/John @ Eric そして正しいコントローラで処理されます。 名前がMyWebSite/GetPeopleasp.net mvcルーティングと不思議404
とGetPeopleの作用によってproccessedます:
一方、私はまたのような直接的なアクションを指定できるようにしたいと思います。
私は自分のアプリケーションに2つのルーティングルールを設定している:
最初のルート
routes.MapRoute("Default",
"{id}",
new { controller = "Friends", action = "Index", id = UrlParameter.Optional },
new { controller = @"[^\.]*", id = @"(?i)[a-z]*@[a-z]*" }
);
第2の経路
routes.MapRoute(
"Friends",
"{action}/{id}",
new { controller = "Friends" }
);
第一およびデフォルトルートが素晴らしい作品を、しかし、次のようなリクエストを送信すると、mywebsite/GetPeople の場合、厄介なインデックスアクションが引き継ぎ、パラメータであるかのようにGetPeopleを読み込みます。本当に素晴らしいレガックスを追加しましたが、これはうまくいかないようです。
アイデア?
@ダーリン、それは素晴らしいです。しかし、両方のルートが同じコントローラ(この場合は "Friends")によってハンドリングされるとどうなりますか?これは私の場合であり、フィックスアップがあるようです。 – vondip
@vondip 'Default'ルートに' controller = "Friends" 'を指定してみてください。あなたが 'GetPeople'コントローラについて話したところであなたの質問が混乱しましたが、実際には' Friends'コントローラに 'GetPeople'アクションが必要です。 –
@ダーリン、そこに私のミックスアップをコントローラーとして名前をつけて固定しました。私はそれを試してみましたが、うんざりしてもうまくいかないようです。私は両方のルートが同じコントローラにマップされていることを素早く思い出させる。それは私のナッツを運転しています。 – vondip