www.server.com/events/calendar にカレンダーがあります。私のイベント クエリ文字列は、www.server.com/events/calendar/seofriendly-event-query-string のようになります。ただし、ユーザーはドロップダウン リストを使用して年月ごとにイベントを選択できるため、mu クエリは www.server.com/events/calendar/2013 または www.server.com/events/calendar/2013/12 になります。したがって、問題は、www.server.com/events/calendar/seofriendly-event-query-string をクリックしたときに、www.server.com/events/calendar を取得したことです。リストやイベントなど、表示する必要があるものを理解できるようにルートを整理する方法は?
1 に答える
1
次のようなカスタム ルートを追加します。
routes.MapRoute(
"NewRoute", // Route name
"{controller}/{action}/{id}/{another_id}", // URL with parameters
new { controller = "Events", action = "Calendar", id = UrlParameter.Optional, another_id = UrlParameter.Optional } // Parameter defaults
);
コントローラーには、次のようなアクション メソッドがあります。
public ActionResult MyAction(string id, string another_id)
{
// in the question you mentioned that a a valid list querystring would contain
// multiple integer parameters, and an event querystring would include a
//seo friendly string
int para;
if (int.TryParse(id,out para))
{
// show list view
}
else
{
//show event view
}
}
パラメータを受け取り、何らかのチェックを実行して、イベントまたはリストを表示するかどうかを判断するだけです。
于 2013-12-09T15:48:08.873 に答える