2

URLに不正なデータが含まれていると、無限ループが発生します。

このURLはID関連のリストを表示するように要求しますが、不正なIDを提供します

<siteroot>/<client>/Class/Index/-1

私はその不正なIDを検出しRedirectToAction("Index")、IDがない場合は、代わりに汎用リストを表示する必要があります。しかし、リダイレクトがルーティングされるとき、不正なIDはまだそこにあります!

IDはIndexメソッドではオプションであることに注意してくださいpublic ActionResult Index(int? id, int? yid)

ありがとう、エリック

4

1 に答える 1

1

リダイレクトでidにnull値を明示的に渡す

 int? badId = null;
 return RedirectToAction("Index", new {id = badId});

匿名ルート値オブジェクトに直接割り当てることはできないid = nullため、idをnullに設定するには前の行が必要です。何であるかはわかりませんがyid、不正なIDがそのパラメーターに該当しないように、それも明示的に設定する必要がある場合があります。

于 2013-02-08T19:12:00.857 に答える