0

私はasp.netmvcの初心者です。

私は2つのコントローラーを持っています:

HomeControllerアクション:インデックス、約

必要なURL:

  index action url: mydomain

  about action url: mydomain/about

OtherControllerアクション:インデックス

  index action url: mydomain/other

動作しないMyCode

routes.MapRoute(
      "Other",
     "{controller}/{action}/{id}",
     new { controller = "Other", action = "Index", id = UrlParameter.Optional }
 );

  routes.MapRoute(
     name: "Default",
     url: "{action}/{id}",
     defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
 );

ありがとう

4

2 に答える 2

2

あなたのホームコントローラーのために、ヒットする

index action url: mydomain

あなたが必要

routes.MapRoute(
 name: "Home",
 url: "",
 defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);

打つ

about action url: mydomain/about

あなたが必要

routes.MapRoute(
 name: "Home",
 url: "about",
 defaults: new { controller = "Home", action = "About", id = UrlParameter.Optional }
); 

他のコントローラーの場合、

index action url: mydomain/other

あなたが必要

routes.MapRoute(
 name: "Other",
 url: "other",
 defaults: new { controller = "Other", action = "Index", id = UrlParameter.Optional }
);

すべての場合において、「name」パラメーターは実際には重要ではないことに注意してください。

于 2012-12-12T11:46:32.653 に答える
-1

ルーティング仕様を見逃し{controller}ていたと思います。Default

routes.MapRoute(
     name: "Default",
     url: "{controller}/{action}/{id}",
     defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
于 2012-12-12T11:40:37.930 に答える