2010-11-23 12 views
0

私はASP.NET MVC2アプリケーションを開発しています。デフォルトのルートアクションをコントローラと同じ名前に設定する方法はありますか?

"Default.aspx"と読んで約10個のタブを開いた後、デフォルトのコントローラアクションがコントローラと同じ名前になるようルーティングテーブルに指定する方法があるのだろうかと思いました。たとえば、http://mysite/Fooに行くと、コントローラFooでFooというアクションが呼び出され、Foo.aspxを指すデフォルトのViewResultが返されます。

もしそれができないのであれば、Viewメソッドでビューの名前を指定できるので大したことはありません。しかし、それができればいいと思う。

+2

なぜ、まったく同じ名前が必要ですか?コントローラーFooのデフォルトアクションはIndexです。だからhttp:// mysite/Foo-actionに行くとindexが動いて、http:// mysite/Foo/Indexに似ています。また、Global.asaxでデフォルトルーティングを追加することもできます。 –

+0

変更しない場合、デフォルトのアクションはインデックスです。私の場合は、デフォルトのアクションがデフォルトになるように変更しました。それは単に味の問題です。さて、デフォルトのアクションをコントローラと同じ名前にしたいのは、Visual Studioで見ると、10個のDefault.aspxタブ(またはインデックス)を表示するのではなく、必要なソースファイルをすばやく見つけることができるためです。あなたが好きな場合は.aspx)。これについて考えると、これはあまりにも奇妙ではありません。多くの言語では、コンストラクターはクラスと同じ名前です。私はデフォルトのアクションをコントローラと同じ名前にしたい。 –

答えて

0

すべてのコントローラが拡張されたBaseControllerを作成すると、デフォルトの "Index"アクションを現在のコントローラルートパラメータと同じ名前のアクションに自動的にリダイレクトします。

私はルートレジストリでこれを定義することは可能だとは思いません。

0

私はあなたのニーズを理解しています。しかし、私のように、あなたの開発環境の要求に応えるために、アプリケーションのルーティングを変更するのは良い習慣ではありません。

このビューを返すアクションで、ViewからControllerにすばやくジャンプできます。あなたのための解決策は、あなたの仕事を整理することです。

+0

私の仕事は整理されています。したがって、問題です。基本的にコントローラのデフォルト動作はデフォルトです。それらはすべてそれぞれのビューフォルダにあるので、エディタタブに表示されるのはDefault.aspxだけです。また、終わりには、コンピュータではなく人間が私のソースファイルを編集していることに気付きました。私は、人間をコンピューターを幸せにするように働かせる必要はありませんが、コーディングをより実用的にするものでコンピューターを機能させる必要があります。 –

関連する問題