1.背景介绍:最近刚上手Jquery,通过ajax传递json类型数据到后台action,遇到各种问题,看到了一篇不错的文章,就算在此书写观后感吧~
原文地址:http://cnn237111.blog.51cto.com/2359144/838081
2.废话不多说,上代码,(每种传递方式代码 分前台js,和后台action)
1 HTML: 2 3 <form> 4 <input id="btn" type="button" value="click" /> 5 <input id="txt1" type="text" value="" /> 6 <input id="txt2" type="text" value="" /> 7 <input id="txt3" type="text" value="" /> 8 <input id="txt4" type="text" value="" /> 9 </form>
1 JS 2 3 <script type="text/javascript"> 4 $(document).ready(function(){ 5 $("#btn").click(function(){ 6 $.ajax({ 7 type: ‘POST‘, 8 url: "/Home/MyAjax", 9 data: { 10 val1: $("#txt1").val(), 11 val2: $("#txt2").val(), 12 val3: $("#txt3").val(), 13 val4: $("#txt4").val(), 14 }, 15 dataType: "json" 16 }); 17 }); 18 }); 19 </script>
1 Action(参数类型:string) 2 3 public ActionResult MyAjax(string val1) 4 { 5 string val2 = Request["val2"].ToString(); 6 string val3 = Request.Form["val3"].ToString(); 7 string val4 = Request.Params["val4"].ToString(); 8 return Content("ViewUserControl1"); 9 }
1 Actrion(参数类型: Class) 2 //Class类的属性名就是json的key的名字,只要符合一致,它就能匹配,不得不说强悍。 3 4 public ActionResult MyAjax(Class f) 5 { 6 return Content(f.val1+f.val2+f.val3+f.val4); 7 }
1 Acdtion(参数类型:FormCollection) 2 //MVC3的强悍之处,是它是基于变量参数命名匹配的机制,就是说它尽可能的查找能够有相同变量名字的值 3 4 public ActionResult MyAjax(FormCollection f) 5 6 { 7 string val2 = f["val2"].ToString(); 8 string val3 = f["val3"].ToString(); 9 string val4 = f["val4"].ToString(); 10 return Content("ViewUserControl1"); 11 }
时间: 2024-10-15 08:23:09