2
我只是想知道用戶可能通過意外查詢請求的情況。假設我有控制器動作Asp.net mvc 3處理意外查詢
public ViewResult Details(int id)
{
Description description = db.Descriptions.Find(id);
return View(description);
}
在瀏覽器中理想的查詢將是/admin/Details?id=1
。 如果用戶輸入了id=-1
或id=a
或任何其他意外輸入,該怎麼辦?如何處理這個?
它的工作,但我有一個問題。返回類型是「ActionResult」,但是'HttpStatusCodeResult(404)'是一個'CodeResult'類型。 – nebula 2012-08-08 10:12:34
HttpStatusCodeResult繼承自ActionResult,因此代碼將執行時沒有問題。不幸的是,我不明白什麼「CodeResult類型」意味着 – archil 2012-08-08 10:26:40
如果ID錯誤,在路由上添加驗證將阻止即使到達該控制器操作。我不確定這是否正是你想要的,但我寧願在動作中測試ID以顯示適當的錯誤,而不是「頁面未找到」類型錯誤。所以也許在將ID傳遞給你的db.Descriptions.Find()方法之前,你可以測試它是否大於0. – Pluc 2012-08-08 11:22:23