【发布时间】:2012-01-28 13:19:49
【问题描述】:
我对控制器中的一项操作有一个请求,该控制器期望枚举作为查询字符串中的键。我可以看到在 QueryString 中设置了相同的内容,但是服务器抛出了一个异常,说没有设置相同的内容并且错误:
参数字典包含不可为空类型的参数“enumVar”的空条目。
被抛出。
以下是异常详情:
异常类型:System.ArgumentException
异常消息:参数字典包含方法“System.Web.Mvc.ActionResult GetContent(Int64, NameSpace.Enums.MyEnum, System.String, Int32, Int32, Int32, Int32, Int64)' 在'NameSpace.Controllers.MyController' 中。可选参数必须是引用类型、可空类型或声明为可选参数。
参数名称:参数
请求路径:app/My/GetContent
如果您需要更多信息,请告诉我。我不确定我应该如何解决这个问题。
更新: 我的枚举定义:
public enum DisplayMode
{
EnumValue,
EnumValue1,
EnumValue2
}
另外我应该提到,请求只是有时而不是总是失败,这是不一致的。这是我们的异常数据库中记录的错误。
【问题讨论】:
-
您能发布您的枚举定义以及
GetContent()的操作方法吗? -
我添加了一个更新。如果您仍然需要我的操作的定义,请告诉我。仅供参考,它没有丢失任何东西。
-
请显示您的操作方法(至少参数定义)。您是说使用相同的查询字符串时有时会出错,有时不会?
-
@Jan 这是正确的!奇怪啊!如果它是一致的,那么我会发现问题或者会调试更多.. :/
标签: c# asp.net asp.net-mvc-3 exception-handling query-string