当我将用户重定向到此Url时
http://localhost:34768/Module/Edit?versionId=f4592b62-17e4-47e1-8a08-6a927a1c895e?selectedTab=0&selectedRowId=4c1fb4a6-691f-4c03-9e67-8f8b10a95c0e
我会收到以下错误:
参数字典包含一个 参数'versionId'的空条目 非可空类型'System.Guid'的 方法'System.Web.Mvc.ActionResult 编辑(的System.Guid, System.Nullable
1[System.Int32], System.Nullable
1的System.Guid] System.String)'in 'ParKone.Controllers.ModuleController'。 可选参数必须是a 引用类型,可空类型或者是 声明为可选参数。 参数名称:参数
我的控制器操作如下所示:
public ActionResult Edit(Guid versionId, int? selectedTab, Guid? expandedRowId, string url = "")
我不明白为什么versionId
没有通过。如果我写这个Url然后它运作顺利。
http://localhost:34768/Module/Edit?versionId=f4592b62-17e4-47e1-8a08-6a927a1c895e
有什么想法吗?
更新
我在Web.config中有这种行
<httpRuntime requestValidationMode="2.0" requestPathInvalidCharacters="" />
答案 0 :(得分:2)
你的网址中有两个?,所以路由从第二个接收你的参数?的?用作参数和URL的分隔符,所以在这种情况下,路由似乎从第二个后面的查询字符串部分中获取参数?。