2013-02-08 119 views
2

我得到一個無限循環如果URL中包含錯誤的數據。RedirectToAction - 無限循環

此URL請求看到一個ID相關的名單,但提供了一個糟糕的ID

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

我發現壞ID和做RedirectToAction("Index")其中,沒有ID,應該表現出一個通用的列表,而不是。但是當重定向被路由時,壞ID仍然存在!

注意的ID是可選的指數方法public ActionResult Index(int? id, int? yid)

感謝, 埃裏克

回答

1

明確地傳遞一個空值ID在重定向

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

您不能直接分配id = null在匿名路由值對象中,所以你需要先行將id設置爲null。我不知道yid是什麼,但是你可能需要明確地設置它,以免壞標識符落入該參數。

+0

這很好用。如果我清空了錯誤的ID(id或yid)並在重定向中明確地設置了它們,那麼代碼就會正確響應其中一個或兩個值都不正確。順便說一句,我想你的意思是在上面的兩個地方都說'badId'或'newId'。 – 2013-02-08 19:27:30

+0

哎呀,你是對的。很高興它對你有效 – 2013-02-08 19:32:36