http://blog.csdn.net/make1828/article/details/29846003

using System.ComponentModel.DataAnnotations;namespace MvcApplication1.Models
{public class Movie{public  int Id { get; set; }[Required(ErrorMessage = "必填")]public string Title { get; set; }}
}

HomeController中,一个Action用来显示强类型视图,一个用来接收从视图传递过来的Model。

using System.Web.Mvc;
using MvcApplication1.Models;namespace MvcApplication1.Controllers
{public class HomeController : Controller{public ActionResult Index(){return View(new Movie());}public ActionResult AddMovie(Movie movie){return Json(new {msg = "ok"});}}
}

方法一:通过jQuery的serialize()方法

@model MvcApplication1.Models.Movie@{ViewBag.Title = "Index";Layout = "~/Views/Shared/_Layout.cshtml";
}<h2>Index</h2>@using (Html.BeginForm("AddMovie", "Home", FormMethod.Post, new {id = "addForm"}))
{@Html.EditorFor(m => m.Title)@Html.ValidationMessageFor(m => m.Title)<br/><input type="button" id="addMovie" value="提交"/>
}@section scripts
{<script src="~/Scripts/jquery.validate.js"></script><script src="~/Scripts/jquery.validate.unobtrusive.js"></script><script type="text/javascript">$(function() {$('#addMovie').click(function(e) {e.preventDefault();if ($('#addForm').valid()) {$.ajax({url: $('#addForm').attr('action'),type: $('#addForm').attr('method'),data: $('#addForm').serialize(),success: function(data) {if (data.msg == 'ok') {alert('提交成功');}}});}});});</script>}

方法二:通过jQuery的 JSON.stringify()方法把匿名对象转换成json

$(function() {$('#addMovie').click(function(e) {e.preventDefault();if ($('#addForm').valid()) {addMovie();}});});function addMovie() {var movie = {"Title" : $('#Title').val()};$.ajax({url: '@Url.Action("AddMovie","Home")',data: JSON.stringify(movie),type: 'POST',contentType: 'application/json;charset=utf-8',success: function(data) {if (data.msg == 'ok') {alert('提交成功');}}});}

MVC使用jQuery从视图向控制器传递Model的2种方法相关推荐

  1. mvc控制器接收数据的两种方法

    一.mvc控制器接收数据的两种方法 A方法: public ActionResult ProcessAdd() { string username=Request["UserName&quo ...

  2. Asp.net页面之间传递参数的几种方法

    Asp.net页面之间传递参数的几种方法 第一种方法: 通过URL链接地址传递Request.QueryString send.aspx:    protected void Button1_Clic ...

  3. 窗体之间传递值的几种方法

    窗体之间传递值的几种方法 场景如下: 我有一个mainFrm(父窗体), 一个subFrm(子窗体) 点击父窗体的按钮启动子窗体,点击子窗体的按钮可以给父窗体设置值.如下图 第一种方法:启动子窗体,将 ...

  4. Asp.net页面之间传递参数的几种方法荟萃

    第一种方法: 通过URL链接地址传递  send.aspx:   protected void Button1_Click(object sender,EventArgs e)     {       ...

  5. 用JQuery或JS改变div的id的五种方法

    div的id是可以改变的,通常使用的方法是通过JQuery或Javascript来实现.本文介绍用JQuery或JS改变div的id的五种方法. 方法一:使用Tag选择器 JQuery代码如下: &l ...

  6. C#中窗体间传递数据的几种方法

    C#中窗体间传递数据的几种方法 在编写C#windows应用程序的时候我们经常会遇到这种问题,怎么样在两个窗体间传递数据呢?以下是我整理的网上的各种方法,在遇到一个实际问题:在form1中打开一个fo ...

  7. jquery控制元素的隐藏和显示的几种方法。

    使用jquery控制div的显示与隐藏,一句话就能搞定,例如: 1.$("#id").show()表示为display:block, $("#id").hide ...

  8. jQuery判断复选框是否选中的三种方法

    jQuery判断复选框是否选中的三种方法. PS:下面的代码为通过循环找到在多个复选框中被选中的复选框,并对其删除 //判断复选框是否选中的第一种方法: $.each(buttons,function ...

  9. Android中Intent传递对象的两种方法(Serializable,Parcelable)

    这篇文章转自博客园 Android中Intent中如何传递对象,就我目前所知道的有两种方法,一种是Bundle.putSerializable(Key,Object);另一种是Bundle.putPa ...

  10. 总结C#中窗体间传递数据的几种方法

    在编写C#windows应用程序的时候我们经常会遇到这种问题,怎么样在两个窗体间传递数据呢?以下是我整理的网上的各种方法,在遇到一个实际问题:在form1中打开一个form2窗口作为录入界面,将录入的 ...

最新文章

  1. 学习进度条--第七周
  2. Hadoop2.6.5集群搭建
  3. 解决gitosis中authorized_keys不自动更新问题
  4. @autowired注解原理_SpringBoot注解大全,收藏一波!!!
  5. 斗地主AI算法——第十三章の主动出牌(2)
  6. 启动vsftpd失败是什么原因_消防排烟风机不启动的原因是什么呢?
  7. NC65销售订单功能导入
  8. 程序员 文本编辑器 c语言,程序员必备的五款文本编辑器
  9. 百度360争推1TB永久网盘
  10. spacy依存分析模型
  11. 微信红包封面免费做了
  12. 如何安装固态硬盘,并将其设为系统盘
  13. 笔记本做wifi热点
  14. matlab矩阵保存到表格,将matlab求出的矩阵保存在Excel表格中
  15. 河南工程学院第五届ACM大学生程序设计竞赛(部分题解)
  16. java事件适配器_java 事件适配器
  17. 面试恒安嘉新运维/项目经理面经 2019-06
  18. wacom 672 因驱动未签名导致找不到设备的解决办法
  19. PCB打样中,有铅与无铅的区分?
  20. 存储产品可靠性测试简介

热门文章

  1. 一个linux下g++使用的 makefile 模板
  2. DPDK QOS4 -- PORT数据结构的初始化
  3. OpenCV如何提取人眼区域的眼球位置
  4. 深入解读Linux内存管理系列(5)——lowmem和highmem
  5. SQlite数据库的C编程接口(二) 数据库连接 ——《Using SQlite》读书笔记
  6. 在Ubuntu上安装使用Systemtap
  7. linux 电源管理
  8. Hadoop Partitioner 实战详解
  9. sublime实用快捷键 mac版
  10. 思科网院Packet Tracer实验(十)