4

次のような RedirectToRoute を介して呼び出すルートがあります。

return this.RedirectToRoute("Super-SuperRoute", new { year = selectedYear });

私も試しました:

 return this.RedirectToRoute("Super-SuperRoute", new { controller = "Super", action = "SuperRoute", id = "RouteTopic", year = selectedYear });

global.asax のルートは次のようになります。

routes.MapRoute(
    "Super-SuperRoute", // Route name
    "Super.mvc/SuperRoute/{year}",  // URL with parameters
     new { controller = "Super", action = "SuperRoute", id = "RouteTopic" }  // Parameter defaults
);

では、なぜ「指定された値と一致するルートがルート テーブルにありません」というエラーが表示されるのでしょうか?

selectedYear の型が var であることがわかりました。int.Parse を使用して int に変換しようとしたときに、selectedYear が実際には null であることに気付きました。これが問題を説明しています。次回は、ブレークポイントでの変数の値にもっと注意を払うと思います:)

4

1 に答える 1

5

selectedYear とはどのような型ですか? 日時?その場合は、文字列に変換する必要があるかもしれません。

于 2008-08-08T05:21:07.477 に答える