MVC的前端和后端的Model Binding
1.前端提交JSON 字符串
{"id":13,"title":"这里是标题33","day":"2018-8-16","status":0,"arr":[{"type":"r","quest":"333","q1":"3","q2":"3","q3":"3"},{"type":"c","quest":"444","q1":"4","q2":"4","q3":"4"},{"type":"t","quest":"5"}]}
$.ajax({
url: "/survey/post",
method:"post",
data: json,
contentType: "application/json",
success: function (data) {
console.log(data.status);
}
})
后端MVC controller ( version<=5) , 如果是WebAPI, 则要加上[FromBody]修饰参数
public class SurveyDTO
{
public string id { get; set; }
public string title { get; set; }
public DateTime day { get; set; }
public string status { get; set; }
public SurveyItem[] arr { get; set; }
}
public class SurveyItem {
public string type { get; set; }
public string quest { get; set; }
public string q1 { get; set; }
public string q2 { get; set; }
public string q3 { get; set; }
}
[HttpPost]
public ActionResult Post(SurveyDTO data)
{}
JSON带有数组的话, 通常不能直接用EntityFramework的实体.要重新定义.
2. 前端使用表单提交
$.post('/survey/postForm', $('#form').serialize(), function (json) {
if (json.isSuccess) {
}
});
$.ajax({
url: "/survey/postForm",
method: "post",
data: "id=" + key + "&title=" + title + "&day=" + date + "&status=" + sta + "&arr=" + JSON.stringify(this.storageArr),
success: function (data) {
console.log(data.status);
}
})
后端使用Formcollection 接受参数
[HttpPost]
public ActionResult Post(FormCollection form)
{
var json = new { status = 0 };
return Json(json); }
MVC的前端和后端的Model Binding的更多相关文章
- Spring MVC之中前端向后端传数据
Spring MVC之中前端向后端传数据和后端向前端传数据是数据流动的两个方向, 在此先介绍前端向后端传数据的情况. 一般而言, 前端向后端传数据的场景, 大多是出现了表单的提交,form表单的内容在 ...
- [ASP.NET MVC 小牛之路]15 - Model Binding
Model Binding(模型绑定)是 MVC 框架根据 HTTP 请求数据创建 .NET 对象的一个过程.我们之前所有示例中传递给 Action 方法参数的对象都是在 Model Binding ...
- Asp.net MVC使用Model Binding解除Session, Cookie等依赖
上篇文章"Asp.net MVC使用Filter解除Session, Cookie等依赖"介绍了如何使用Filter来解除对于Session, Cookie的依赖.其实这个也可以通 ...
- [ASP.NET MVC] Model Binding With NameValueCollectionValueProvider
[ASP.NET MVC] Model Binding With NameValueCollectionValueProvider 范例下载 范例程序代码:点此下载 问题情景 一般Web网站,都是以H ...
- 【ASP.NET MVC 学习笔记】- 16 Model Binding(模型绑定)
本文参考:http://www.cnblogs.com/willick/p/3424188.html. 1.Model Binding是Http请求和Action方法之间的桥梁,是MVC框架根据Htt ...
- spring mvc日期转换(前端到后端,后端到前端)
在做web开发的时候,页面传入的都是String类型,SpringMVC可以对一些基本的类型进行转换,但是对于日期类的转换可能就需要我们配置. 1.如果查询类使我们自己写,那么在属性前面加上@Date ...
- 系统架构:Web应用架构的新趋势---前端和后端分离的一点想法
最近研究servlet,看书时候书里讲到了c/s架构到b/s架构的演变,讲servlet的书都很老了,现在的b/s架构已经不是几年前的b/s架构,其实b/s架构就是web应用开发,对于这样的架构我们现 ...
- ASP.NET MVC3 Dynamically added form fields model binding
Adding new Item to a list of items, inline is a very nice feature you can provide to your user. Thi ...
- [转载]Web前端和后端之区分,以及面临的挑战
原文地址:Web前端和后端之区分,以及面临的挑战[转]作者:joyostyle 在我们实际的开发过程中,我们当前这样定位前端.后端开发人员. 1)前端开发人员:精通JS,能熟练应用JQuery,懂CS ...
随机推荐
- vim的简单使用
vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的.下面的文章翻译自<Learn Vim Progress ...
- Eclipse中出现无法找到Maven包Active Maven Profiles (comma separated)
Eclipse中出现无法找到Maven包 2014年02月25日 16:51:30 阅读数:13057 症状:出现org.maven.ide.eclipse.MAVEN2_CLASSPATH_ ...
- python测试相关小问题
实操中的小问题 pycharm 一次运行多个test configuration 项目分层,分包之后,tests也分到不同层的不同project里了,tests也分开. 为了防止基层模块改动,影响上层 ...
- P678-vect2.cpp
// CH1608.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <string> #include < ...
- Redhat 5.7 安装 glibc debuginfo ,终于成功。
1) yum --enablerepo rhel-debuginfo install glibc-debuginfo 安装完之后,yum list 可以看出debuginfo 是 build 123, ...
- Python 编程快速上手 第十五章 保持时间,计划任务和启动程序
前言 这一章节的主要内容是: 处理时间类型的数据(使用python 的两个模块: time 和 datetime 来处理) 创建多个线程 (使用 threading 模块来创建多个线程) 进行多个进程 ...
- Node版本管理nvm, npm
nvm(node version manger) Node版本管理 nvm是一个简单的bash script来管理多个活动的node.js版本. 安装nvm: 具体看git:https://githu ...
- codeforces590a//Median Smoothing//Codeforces Round #327 (Div. 1)
题意:一个数组,一次操作为:除首尾不变,其它的=它与前后数字的中位数,这样对数组重复几次后数组会稳定不变.问要操作几次,及最后的稳定数组. 挺难的题,参考了别人的代码和思路.总的来说就是找01010, ...
- android -------- WIFI 详解
今天简单的来聊一下安卓开发中的Wifi,一些常用的基础,主要分为两部分: 1:WiFi的信息 2:WiFi的搜索和连接 现在app大多都需要从网络上获得数据.所以访问网络是在所难免.但是在访问网络之前 ...
- Flex动画效果的用法--Resize
Flex动画效果的用法--Resize FlexAdobeXML <?xml version="1.0" encoding="utf-8"?> & ...