2016-10-28 6 views
1

デフォルトのcontroller/actionRouteConfig.csを変更すると、ページに最初のURLセグメントが常に表示されます。だから、最初のURLセグメントを取得

ページでは、私はservicesがページに印刷し、その上で取得する必要がありますmysite.com/servicesであれば、URLは、それがmysite.com/somepageであれば、私はsomepageがページに印刷されるはずです、ページが空白でなければなりませんmysite.comある場合。

デフォルトコントローラはHomeで、デフォルトのメソッドアクションはIndexです。 RouteConfig.csについて

public ActionResult Index(string page = "") 
     { 
      return Content(page); 
     } 

しかし、どのような:

は、私はこの方法は、このような何かを行くだろうと思いますか?

+0

routes.MapRoute( "Home"、{page}、new {controller = "Home"、action = "Index"}); 'この1つ前に他のすべてのコントローラメソッドの特定のルートを作成しない限り、mysite.com/someValue'しか表示できません –

+0

これは私が探しているようです(理論的には)。しかし、私はコードにエラーが表示されます: '名前ページは現在のコンテキストに存在しません' – frc

+0

そのコードの原因は何ですか? (あなたの質問に何も表示されていないからです) –

答えて

1

デフォルトのルートを消去し、このように、カスタムのものを追加する必要があります

// Home route 
routes.MapRoute("Home", "", new { controller = "Home", action = "Index" }); 

routes.MapRouteの2番目のパラメータは、この場合には空であるURLです。サービスの場合、あなたのルートは次のようになります:

// Services route 
routes.MapRoute("Services", "services", new { controller = "Some Controller", action = "Some action" }); 
+0

私はデフォルトのものを削除し、あなたのものを追加しました。 mysite.com/testに 'test'の代わりに' HTTP Error 404.0 - Not Found'と表示されます。私のインデックス方法はQ. – frc

+0

からのものと似ています。 – Forlani

+0

mysite.com/Homeまたはmysite/Home/Indexはどういう意味ですか?それは動作しません。メインURLに追加するものは何も動作しません。 – frc

関連する問題