私のページが最初にロードされるとき、URLはhttp://localhost:1245/のようになります。しかし、私はこのように見えます:http://localhost:1245/Home/Index/2/2012?Events=Show(/ 2/2012?Events = Showは重要な部分です)。最初から2番目のURLをロードするにはどうすればよいですか?ルーティングデータやクエリ文字データでページを開始するにはどうすればよいですか?
答えて
私はそれのようなものに見えるように、デフォルト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);
}
}
そうですか。クエストリングの部分はどうですか? – dotnetN00b
クエリ文字列をコントローラ/アクションに変換しました。 –
追加:あなたのルーティングに
routes.MapRoute("MyRouteName",
"Home/Index/2/2012", new { controller = "Home", action = "Index" });
。
変更にHomeControllerのIndexアクションは、次のシグネチャを持っている:
public ActionResult Index(string Events)....
とにかく/ 2/2012はハードコーディングできませんが、コントローラで決定できますか? – dotnetN00b
URLが標準のcontroller \ action \ idの規則に従っていない限り、そこにあなたのルートがある場合を除いて、あなたはコントローラにアクセスしません。 Ahhh。 – Maess
- 1. 参考文献の開始前に改ページを避けるにはどうすればよいですか?
- 2. Windowsでサブプロセスを開始するにはどうすればよいですか?
- 3. MDIでマウスイベントを開始するにはどうすればよいですか?
- 4. アンカータグでストライプクレジットカードチェックアウトを開始するにはどうすればよいですか?
- 5. webpackでプロダクションを開始するにはどうすればよいですか?
- 6. iOS:バッファや文字列から空文字を削除するにはどうすればよいですか?
- 7. 同じウェブサイトの別のページにクエリ文字列を渡すにはどうすればよいですか?
- 8. アプリトラッキングを開始するにはどうすればよいですか?
- 9. Android - 方法を開始するにはどうすればよいですか?
- 10. Hadoopのマップを開始するにはどうすればよいですか?
- 11. 継続タスクインスタンスを開始するにはどうすればよいですか?
- 12. ブルートゥースペアリングのプロセスを開始するにはどうすればよいですか?
- 13. Javaプログラミングを開始するにはどうすればよいですか?
- 14. アクティビティを開始するにはどうすればよいですか?
- 15. TWikiのページについてのディスカッションを開始するにはどうすればよいですか?
- 16. ASC3(ActionScript 3)フレームの開始時にリスニングを開始するにはどうすればよいですか?
- 17. H2クエリに対してNamedParameterJdbcTemplateを開始するにはどうすればよいですか?
- 18. CSVデータの2行目からリンクリストにスキャンを開始するにはどうすればよいですか?
- 19. Swaggerをデフォルトの開始ページに設定するにはどうすればよいですか?
- 20. 文字列を " - "で始まる部分に分割するにはどうすればよいですか?
- 21. wix:ProgressDlgでインストールプロセスを開始するにはどうすればいいですか?
- 22. Perlを使用してWebページのスクレイピングを開始するにはどうすればよいですか?
- 23. アプリのデータを消去した後にアクティビティを開始するにはどうすればよいですか?
- 24. Swashbuckleでクエリ文字列パラメータを文書化するにはどうすればよいですか?
- 25. 特定の値で始まる文字列を検索するにはどうすればよいですか?
- 26. 「@」や「。」などの文字を含めるにはどうすればよいですか? MySQLのテーブルで?
- 27. サブフォームのデータシートモードでクエリを開くにはどうすればよいですか?
- 28. ラテックス文書の同じページに要約や紹介をするにはどうすればよいですか?
- 29. カラーピケットダイアログを開始するにはどうすればいいですか?
- 30. MySQLクエリ(://、<、=、など)に他のテキスト/文字を追加するにはどうすればよいですか?
デバッグのためにその方法を開始したいのですか、またはそのURLに移動するためにウェブサイトを訪れる人がいたらいいですか? –
生産用のデバッグはありません。定期的なユーザーにそのURLにアクセスしてもらいたい – dotnetN00b
ああ、あなたが何を求めているのか分かります。私はそれらのURLフォーマットに必ずしもその値ではないURLに行くようにします。カレンダーは今日の月と年のデフォルトになります。 – dotnetN00b