我有一个具有默认路由的ASP.NET MVC应用程序。
当我导航到以下页面时:
/Portfolio/Company?id=12345
我的操作方法(如下)正确地选择了id参数,该方法能够成功执行:
public ActionResult Company(long id)
{
<do things with the id>
}
通常,当用户访问相同的确切URL时,标识(在上面的示例中为“ 12345”)没有正确地传递给Company方法。这将导致方法失败,并显示以下信息:
参数字典包含参数“ id”的空条目 方法的非空类型'System.Int64' 的“ System.Web.Mvc.ActionResult Company(Int64)” “ PortfolioController”。可选参数 必须是引用类型,可为null的类型,或声明为 可选参数。参数名称:参数
这使我认为他们正在访问未指定id值的URL。
我无法自己重现此问题。在日志中,我正确地看到用户导航到页面,并在URL中传递了有效的id参数。用户还说他们从未在屏幕上看到错误,上面的错误消息我只在日志中看到。
我对可能发生的事情感到困惑-用户注意到网站没有问题,他们似乎使用的是正确的URL,但是后端始终出现错误。任何想法将不胜感激。