0

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 を取得したことです。リストやイベントなど、表示する必要があるものを理解できるようにルートを整理する方法は?

4

1 に答える 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 に答える