2012-01-15 5 views
1

は、私は、標準のWebフォームのためであることを私のウェブサイトのルートを確保したいので、私は、次のしているサブディレクトリビューでのMVCのページを持っている... これは正しいMVCルート設定ですか、別の方法ですか?

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

しかし、この作品にもかかわらず、私はいくつかを参照してください回避策、RedirectToActionが私を間違ったページに誘導しているように思える

return RedirectToAction("Index", "Home"); 

は私に見つからないリソースを提供し、にHomeController上のindexアクションが起動しないhttp://localhost/Viewsに私をとります。私がここで欲しいものを実装するためのよりよい方法があるのか​​、それとも明白なものがないのでしょうか?

答えて

0

ご存知のように、Viewsは、ASP.NET MVCの予約名のようなものです。これは既存のディレクトリです。あなたはそれが実行されますHomeコントローラのIndexアクションになりますhttp://example.com/viewsまたはhttp://example.com/views/homeまたはhttp://example.com/views/home/indexに移動したときに今

public static void RegisterRoutes(RouteCollection routes) 
{ 
    routes.RouteExistingFiles = true; 

    routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

    routes.MapRoute(
     "Default", 
     "views/{controller}/{action}/{id}", 
     new { controller = "home", action = "index", id = UrlParameter.Optional } 
    ); 

} 

:あなたはあなたのRouteExistingFilesルート定義でtrueにを設定することができます。

+0

ありがとう、私はRouteExistingFilesを認識しておらず、完全に動作します – Matt

関連する問題