在错误日志中发现了一条当请求/member/GetSmallSort时的错误信息:
对于“LMSoft.Web.Controllers.MemberController”中方法“System.Web.Mvc.JsonResult GetSmallSort(Int32)”的不可以为 null 的类型“System.Int32”的参数“iid”,参数字典包含一个 null 项。可选参数必须为引用类型、可以为 null 的类型或声明为可选参数
[HttpPost] [OutputCache(Location = OutputCacheLocation.None, NoStore = true)] public JsonResult GetSmallSort(int iid)
这个错误倒是知道原因,是因为iid定义的是int 类型,而传过来的是null值造成,解决倒也不难。因为是post请求,不能直接输出url地址来具现此错误。以前要具现此错误,只能在jquery中更改传入值来实现,而我知道fiddler是可以更改传入的请求参数,这次,我想使用fiddler来实现。在百度上搜索到一个介绍fiddler修改请求数据的文章:Fiddler修改请求数据 ,但这篇文章是介绍的直接打开网页操作的,并不适合我这个情况。我这个是post请求。经过多次尝试,找到了合适的操作方法。
首先在fiddler 的post 请求上右击鼠标,调出右键菜单。
![]()
选择Replay/Reissue and Edit
fiddler此时模拟了一条新的请求,在fiddler的左窗口出现一条数据:
![]()
在fiddler的右边窗口出现的是:
此时看到iid 的值为 3,这里可以更改,我改成null。 然后可以按 Rul To Completion 按钮,执行。执行后的结果如下:
![]()
可以看到,具体的错误已经出现了。还真是方便,以后这种错误具现用fiddler是个不错的选择