我有一条路线:
routes.MapRoute("ResetPasswordConfirm", "reset-password-confirm", new { controller = "Membership", action = "ResetPasswordConfirm" });
和代码
public ActionResult ResetPasswordConfirm(int userid, string key)
{
// ...
}
在我的应用程序中。所以我有 url 像这样执行:
http://localhost/reset-password-confirm?userid=1&key=bla_bla_something
这绝对没问题,直到有人决定去
http://localhost/reset-password-confirm
...看看会发生什么。ASP.NET 将产生可预测的错误:
参数字典包含不可为空类型“System.Int32”的参数“userid”的空条目...
它也可以通过搜索机器人尝试抓取所有可能的 url 来完成。没关系,但是在野外使用应用程序时会产生很多错误。我想避免这种情况,但是对于为此类错误的每种可能情况编写存根感到不舒服。
有什么优雅的方法吗?谢谢。