此问题出现在asp.net mvc 5 中,前端向后端请求数据,方法的参数是模型,比如 Add(Student m), 结果浏览器显示的状态是500并返回错误提示ArgumentException,如标题,堆栈信息就不贴了,网上可以搜到很多这个问题的解决办法。

这个问题出现的原因中,除了前端传的参数中含有两个以上大小写不同的参数名,还有就是模型定义问题,可能有两个大小写不同的属性。以上均是因为大小写不同的参数名重复添加到字典里面,才会报这个错。

解决问题思路是:

第一、看完堆栈信息,不是自己代码出的错,直接调试源码,此法万能,没有调试不了的bug,就怕断点断在哪里都不知道,且对小白极不友好,仅适合高端玩家,不推荐。

第二、用尝试,模仿的方式去试探是定位是哪一块的原因。比如新增一个方法名不同,参数一样的方法尝试请求(用这个方法解决了前端元素绑定点击事件报 search 方法不存在的问题 onclick=“search();”,没深究,search可能是关键字什么的,改个名字就好了)。还有用同样方法名,改变参数再尝试请求,这时会发现不用那个模型作为参数就不报错了,那么问题就出在模型上了,这时候先把问题记下来,先改用常规的参数接收写法,多写几个参数,保证不在报错,之后再研究是模型哪里的问题。这类办法需要有相当的经验,才能想到,往哪方面尝试比较容易定位问题,看个人功底。

第三、回滚。问题总是突然出现的,很多同学应该都经历过,之前明明还好好地,怎么上个厕所回来就这样了。别急先保存一份现在的代码,然后一点点撤销最后面改的代码,每撤销一次就运行测试一次,撤销到上一次提交代码之前,你总能发现是改了哪一行引起的问题,找到之后,再看看什么 是写法不对还是什么,或者换个写法,换个姿势什么的就好了。此类办法也是万能的,不管有没有相关经验,都可以手动回滚到以前正确的时候,以此来定位然后解决问题。

总结:以上思路适合各种语言各种环境出现问题时可以参考的思路,使得在没有相关知识经验的时候也能解决问题。其实不是我们解决不了问题,是很多同学碰到不熟悉的问题时,通常都会一脸懵逼不知所措无从下手,还有习惯了把问题丢给别人的就想也不想直接问人家,这个问题怎么办,代码也不贴,问题虽然解决了但是却得不到提高,打了怪也不涨经验。

最新文章

  1. shell——awk
  2. appium+python:自己写的一个滑动控件的方式
  3. Android 实现卫星菜单(精简版)
  4. FreeSWITCH的TLS加密
  5. 放飞App:移动产品经理实战指南
  6. POJ - 1741 Tree
  7. php的fread函数的一个巨大的坑
  8. linux bash下 快捷键
  9. 真机测试,Xcode报错:process launch failed: Security
  10. JavaScript escape() 函数
  11. "sfc/scannow" 修复系统,提示 "windows资源保护无法启动修复服务"(win7)
  12. sublime3安装
  13. Spring Security4实例(Java config 版) —— Remember-Me
  14. JavaScript手工编写滚动条组件
  15. docker之Dokcerfile 常用指令
  16. 【Spring学习笔记-MVC-17】Spring MVC之拦截器
  17. 3d引擎列表
  18. IntelliJ idea的初次使用
  19. python系列7进程线程和协程
  20. Sqoop操作实践

热门文章

  1. np.frombuffer()
  2. 在UNITY中按钮的高亮用POINT灯实现,效果别具一番风味
  3. 解决Lightmap在PC上与ios和Android上表现不同的问题
  4. python之多并发socket
  5. The valid characters are defined in RFC 7230 and RFC 3986
  6. ubuntu18 realsenseD435i
  7. OpenGLES.gpus_ReturnNotPermittedKillClient
  8. 20172325 2017-2018-2 《Java程序设计》第七周学习总结
  9. sublime的坑
  10. 设计模式-生成者模式之c#代码