今天在项目上遇到一个问题,在**.netcore中通过ajax向mvc的controller传递对象时,接到的参数总是为空,百思不得解,最后在程序中发现了这个

注意看红线部分
Controller:

这时候我通过PostMan测试属性是否能够传递到后台

这是在后台监视到的对象参数

可以看到,我们传递的PropertyID参数,后台没有接收到,这时候在类定义文件中对比参数可以发现,除了PropertyID**,其它两个参数都是通过属性形式定义的,即使用了get{}set{},会不会是这个问题呢,我把PropertyID也改为属性形式

然后再通过PostMan测试

这时候可以看到传过来的参数了。至此,问题找到。
原因猜测:.netcore后台可以接收ajax传过来的对象,但是对象中的成员变量只能以属性形式定义,而不能定义为字段。
OK,这是一次踩坑记录,踩到这个坑主要是因为自己编程习惯不好,定义成员变量时没有同一格式,偶然中发现了这个错误,解决了一个多小时,吸取教训,记录下来,作为自己的学习记录。
.netcore使用ajax向后台传递对象参数时,踩到的坑
最新推荐文章于 2021-08-05 22:45:21 发布
在.NET Core项目中,通过AJAX向MVC控制器传递对象时,发现参数总是为空。问题在于对象成员变量未以属性形式定义。将成员变量改为属性形式后,问题解决。.NET Core仅接受以属性形式定义的成员变量。

78

被折叠的 条评论
为什么被折叠?



