ページが最初に読み込まれるとき、URL はhttp://localhost:1245/のようになります。ただし、次のようにしたいと思います: http://localhost:1245/Home/Index/2/2012?Events=Show (/2/2012?Events=Show は重要な部分です)。最初からその 2 番目の URL でページを読み込むにはどうすればよいですか?
質問する
309 次
2 に答える
2
私がすることは、デフォルトの MVC ルートの前に新しいルートを追加して、次のようにすることです。
routes.MapRoute(
"NewDefault", // Route name
"{controller}/{action}/{month}/{year}", // URL with parameters
new { controller = "Events",
action = "Shows",
month = DateTime.Now.Month,
year = DateTime.Now.Year } // Parameter defaults
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home",
action = "Index",
id = UrlParameter.Optional } // Parameter defaults
);
デフォルトの URL (内部的に、ユーザーには表示されません) は/Events/Shows/4/2012
(日付が の場合) になります4/19/2012
。デフォルトのコントローラは でEventsController
、デフォルトのアクションは ですEventsController.Shows
。
public EventsController
{
public ActionResult Shows(int month, int year)
{
someModel model = new someModel();
someModel.month = month;
someModel.year = year;
this.View(someModel);
}
}
于 2012-04-19T22:17:56.097 に答える
1
追加:
routes.MapRoute("MyRouteName",
"Home/Index/2/2012", new { controller = "Home", action = "Index" });
あなたのルーティングに。
HomeController の Index アクションを次のシグネチャを持つように変更します。
public ActionResult Index(string Events)....
于 2012-04-19T19:25:47.130 に答える