MVC使用jQuery从视图向控制器传递Model的2种方法
2017-03-24 09:57
483 查看
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种方法
- MVC使用jQuery从视图向控制器传递Model的2种方法
- MVC使用jQuery从视图向控制器传递Model的2种方法
- MVC使用jQuery从视图向控制器传递Model,数据验证,MVC HTML辅助方法小结
- MVC使用jQuery从视图向控制器传递Model,数据验证,MVC HTML辅助方法小结
- MVC使用jQuery从视图向控制器传递Model,数据验证,MVC HTML辅助方法小结
- MVC使用jQuery从视图向控制器传递Model,数据验证,MVC HTML辅助方法小结
- MVC控制器传递多个Model到视图,使用ViewData, ViewBag, 部分视图, TempData, ViewModel, Tuple
- MVC控制器传递多个Model到视图,使用ViewData, ViewBag, 部分视图, TempData, ViewModel, Tuple
- 使用jQuery异步传递Model到控制器方法,并异步返回错误信息
- 使用jQuery异步传递含复杂属性及集合属性的Model到控制器方法
- 使用jQuery向asp.net Mvc传递复杂json数据-ModelBinder篇
- jquery 中$.post获取MVC Controller中JsonResult返回包含LIst<Model>类型的子List<Model>的高级使用方法
- ASP.NET MVC传递Model到视图的多种方式总结(一)__通用方式的使用
- 在ASP.NET MVC 模型中 选择最好的方法将多个model(数据模型)传递到视图
- 如何使用jQuery向asp.net Mvc传递复杂json数据-ModelBinder篇
- jquery 中$.post获取MVC Controller中JsonResult返回包含LIst<Model>类型的子List<Model>的高级使用方法
- MVC 从控制器跳转到视图的方法 |Model传值
- jquery showModelDialog的使用方法示例详解
- MVC 5使用TempData Object跨视图传递数据