2011-01-11 7 views
5

VS2010が提供するサンプルASP .net MVCテンプレートでコードを開発しています。初めて何も追加せずにコードを実行したとき、index.aspxページが呼び出され、これが期待されていました。しかし、何らかの理由でlogin.aspxを追加し、それを誤ってスタートアップページとして設定しました。今私がアプリケーションを実行すると、デフォルトの起動URLはhttp://localhost/Views/login.aspxのように見えます。私はこれが有効なMVCルーティングパスではないと思って、私は要求されたリソースが見つかりませんエラーを見つけることができます。ASP .net MVCデフォルトコントローラとアクションの呼び出しvs起動ページの設定

これを元に戻す方法がわからず、デフォルトの../home/indexが呼び出されていることを確認してください。これについて誰かが何らかの光を投げることはできますか?また、asp .net webformsのようにスタートアップページを設定しないでください。

答えて

10

短い答え:あなたはASP.NET WebFormsで許可されていることを行っていますが、ASP.NET MVCでは同じことをしません。あなたが行ったことを元に戻すには、プロジェクトプロパティを開いて(プロジェクトメニューから)、「Web」タブに移動してください。特定のページではなく、現在のページに開始アクションを設定します。プロジェクトを実行すると、前と同じように[ホーム/インデックス]ページが表示されます。

MVCで正しく実行するには、Global.asaxでルートを設定する必要があります。

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

あなたはコントローラとアクションを指定しないときには、それがホーム/インデックスに行くことを見ることができます:あなたは次のようなエントリを検索します。コントローラー名とアクション名を変更することができます。デフォルトでは、そこに記載されているアクションが実行されます。指定したコントローラーに関連するアクションがあることを確認してください。

+1

これは機能します。 Rashidに感謝します。物事が狂って行くことがないでこれらすべての設定を探索する必要があります! :) – SARAVAN

関連する問題