事情是这样的,今天在写一个功能模块的时候,创建的方法,到controller里,死活为null
以前从没出现这种情况啊,但是区别是这个代码是多层跳转进来的,难道是页面跳转太多,还记得之前的model,那就试下,改了方法名称,一般页面都是create,但是这个的话,考虑到可能和最初的重复了,改名字再试,改成CreateSCP,结果还是一样的,那就不是这原因了。
经过度娘后,发现了个博友发的了,和我的一样,参考https://www.cnblogs.com/sdfkfkd/p/Mvc_Controller_Parameter_Null.html
这里解释的很清楚了,问题就是我的这个实体里有个属性命名是Model。。。。。。。。。。。。。。。。。一万只草泥马奔腾而过。。。。。。。。。。。。。。。
其实还是自己对这个没有研究透,这种post提交action对应值的方式就是按照名称来对应的,那么现在属性有个Model,然后这里不区分大小写,那么执行的时候就不知道这个model要对应实体还是属性了,所以干脆返回null了。
解决办法是:
第一种把属性重新命名,不用Model或者model中的任何一种;
第二种是这个action里的参数名不叫model,改成其他的不和属性重名的就行了。
第三种,有人这么说,我没试过
传过来的数据用model.Id这种json结构传过来,感兴趣的可以试试。