我在ASP.NET MVC应用程序中使用MapQuest。在使用MapQuest的一个页面中,我们的日志中出现了一些错误,但在正常使用应用程序期间问题并未显现。这是一个奇怪的问题,所以我将逐步完成我已经完成的工作。
错误日志显示以下内容:
参数字典包含参数' id'的空条目。的 非可空类型&System; Int32'方法 ' System.Web.Mvc.ActionResult编辑(Int32)'在 ' TheProject.Controllers.TheController&#39 ;.一个 可选参数必须是引用类型,可空类型或be 声明为可选参数。参数名称:参数
这是典型的MVC编辑操作:
public ActionResult Edit(int id)
复制问题的方法是在没有id的情况下使用id或者使用不是int的id。 由于这不应该发生,我转向Chrome的开发人员工具,以了解:
注意" null"要求那里。这是对Edit / null的GET请求,该请求无效,并触发开头提到的错误。
我的问题是,为什么以及如何生成该请求?一切都指向MapQuest,因为它不会发生在应用程序的任何其他区域。此外,它显示在与MapQuest相关的所有其他请求的中间,并且总是在其中一个之后立即显示:
有关导致此行为的原因以及如何解决此问题的任何想法?
答案 0 :(得分:0)
根据我在MapQuest开发者论坛中得到的答案,这是MapQuest SDK中的一个已知问题:
MapQuest sdk中有一个null资源的请求是一个已知问题,但由于开发已从MapQuest sdk转移到插件,因此没有计划更新来解决此问题。
完整帖子here。