之前看公司的代码,从页面ajax传参数到接口类,接口类用一个实体接收。我一直以为c#会自动识别,赋值到同名的字段。

我曾和朋友讨论过,双方辩论。朋友认为c#没有这种功能,没有这样高级匹配的机制。而我因为在项目中使用的是直接传值,并没有做过什么拼接或转换,所以我认为c#会自动把同名的自动赋值。朋友不同意,于是我们觉得代码上见分晓。

打开vs,我们开始调试,写好一段ajax的js,Url就写接口类的路径,参数为一段json,然后接口类那边接收json。写到接口类的时候,我想要接收ajax传来的数据,忽然就蒙了。一个类怎么接收页面传来的数据,用XmlHttpRequest?WebHttpRequest?之前一直以为是理所当然的事情崩溃了,明明我之前用的时候都没有接收数据的代码,应该是直接会赋值的啊?为啥我自己写的时候就要整接收?

于是我翻开源代码,发现关键的代码被编译过了,没关系,我们还可以反编译。

找到调用的代码,我一下子就恍然大悟了。原来项目里已经封装过接收数据的代码了,有一个专门接收ajax传的数据并把它转换为实体的类。我瞬间就有点佩服公司的开发人员了,封装了接收数据的类,让接口类不需要只要处理逻辑,而不用在意怎样接收数据,接收怎样的数据,的确是大大方便了开发人员。

那么我们就开始分析,首先ajax传来的参数以json格式传到一个专门处理数据封装的地方,可以是一个.cs文件,也可以是一个一般处理程序。在内部接收ajax传来的json数据,然后转换为实体数据,方便而简单。

转载于:https://www.cnblogs.com/lgl-blogs/p/5870007.html

ajax传参到实体类对应字段相关推荐

  1. ajax传值 实体类_ajax传参到实体类对应字段

    之前看公司的代码,从页面ajax传参数到接口类,接口类用一个实体接收.我一直以为c#会自动识别,赋值到同名的字段. 我曾和朋友讨论过,双方辩论.朋友认为c#没有这种功能,没有这样高级匹配的机制.而我因 ...

  2. data参数 layui_layui ajax传参的data类型

    前台layui table组件,后台是PHP,监听btn-submit按纽传递数据交互 一般用ajax传参时,其语法为 form.on('submit(add)',function(data){ // ...

  3. jfinal ajax传值,JFINAL+Ajax传参 array 数组方法 获取request中数组操作

    前台代码js var _list =[]; for (var i = 0; i < array.length; i++) { _list[i] = array[i]; } $.ajax({ ty ...

  4. 解决springdatajpa 在解析实体类的字段时候驼峰自动转为下划线问题

    解决springdatajpa 在解析实体类的字段时候驼峰自动转为下划线问题 问题描述 springboot 在配置jpa时,利用idea自带工具逆向工程生成实体类,结果在调用findOne的时候,报 ...

  5. springboot项目中一个实体类引用其它实体类的字段并显示到页面上

    1.需要在该实体类中添加引用实体类的字段,并添加getter和setter方法,并添加@Transient注解,或者使用@TableField(exist = false)注解.如下图: 2.在map ...

  6. javabean反射改字段内容_java反射机制给实体类相同字段自动赋值实例

    一.封装一个工具类 1.简易版 package net.aexit.construct.acceptance.websky.utils; import java.lang.reflect.Field; ...

  7. mybatisplus 实体类的字段名与数据库的字段名不一致的解决办法

    我们在查询数据库时经常会碰到数据库的字段名与实体类的字段名不一致的情况,例如报如下的错误 使用mybatisplus可以使用以下几种方式进行字段名的匹配: 把实体类的字段名改成和数据库的字段名一致,当 ...

  8. 设置实体类中字段为非数据库字段

    设置实体类中字段为非数据库字段,加以下注解: @TableField(exist = false) 是不是数据库字段:true是:false不是 源码:不设置则默认是数据库字段

  9. aop+注解 实现对实体类的字段校验_SpringBoot2.0实战(6)整合hibernate-validator进行参数校验...

    spring-boot-starter-web 项目中默认已经集成了 hibernate-validator 相关知识 @AssertTrue // 用于 boolean 字段,该字段只能为 true ...

最新文章

  1. python学习第三十二节(进程间通信、进程池、协程)
  2. XenApp Command Line参数的传递
  3. 【资源】吴恩达新书《Machine Learning Yearning》完整中文版免费下载
  4. 基于类的软件复用技术
  5. Git--rebase合并提交
  6. 121 项目 024 笔记向 内省机制
  7. c语言矩阵乘法问题分析,c语言矩阵相乘
  8. Linux Linux程序练习十(网络编程大文件发送)
  9. matlab机器学习基础
  10. 【ENVI】FLAASH大气校正工具中比例因子说明
  11. smartdrv.exe 文件说明
  12. python下载加密m3u8_基于Python3实现的m3u8批量下载器 解密合并多线程 (开车新姿势~)...
  13. python无限循环怎么结束,python的无限循环及退出
  14. 在css中translate表示,css中位移translate()如何使用?translate用法总结
  15. 健身 宏效 -大道至简
  16. python中加注释_python中如何添加注释
  17. 论文修 5 次后,大佬怼翻审稿人:我要改吐了,这篇怼人回复竟发了一区 SCI !(转载)
  18. 学渣的刷题之旅 leetcode刷题 67.二进制求和
  19. C语言:窗口控制台颜色改变(不断换色)
  20. 域名劫持关系着你我的方方面面!

热门文章

  1. 微服务启动报错命令行太长解决方案
  2. 人工机器:Jetson Nano 安装Qt5
  3. node.js中对Event Loop事件循环的理解
  4. AJAX应用【股票案例、验证码校验】
  5. webpack - 收藏集 - 掘金
  6. Rake::TestTask 介绍
  7. Setting Meta Tags
  8. Web页面减肥,慎用VS的自动格式化功能!
  9. Healing Psoriasis The Natural Alternative-序言(未完待续)
  10. 肖婧医生直播讲稿整理