2

次のような新しいルートを作成しました。

   routes.MapRoute(
     "BlogYMD",
     "blog/date/{year}/{month}/{day}",
     new { controller = "Blog", action = "Date", year = "2009", month="01", day="01" });

ビューは、単に年、月、日の連結を返します。これは、次のようなURLで正常に機能します。

http:// localhost / blog / date / 2009/01/01

ただし、このURLを入力すると:

http:// localhost / blog / date / 2009

月と日のデフォルト値がdateメソッドに渡されることを期待します。ただし、そうではありません。メソッドのすべてのパラメーターはnullとして処理されます。

明らかな何かが欠けていますか?

4

2 に答える 2

2

残りのルートは表示されませんが、global.asax.CS のこのルートの上に、2 番目の URL に一致する別のルート (デフォルト ルートなど) があると思われます。

于 2009-04-13T12:57:47.583 に答える
2

ルートを宣言する順序は重要です。デフォルトの前にカスタムルートを宣言したい。

于 2009-04-13T13:48:34.467 に答える