ASP.NET MVC中如何以ajax的方式在View和Action中传递数据

前言:写这篇随笔的时候,在url上漏写了斜线,找了好久错误,整个人都很不好。#我是猪系列

背景:之前介绍过一篇如何构建ASP.NET MVC4&JQuery&AJax&JSon示例,这一篇单独讲解如何在View和Action间传递并处理数据。

1,前台HTML代码:

1     <div>
2         <button type="button" id="btn">从视图向控制器中传递数据</button>
3         <p id="info"></p>
4     </div>

2,前台JS代码:

 1         $("#btn").click(function() {
 2             $.ajax({
 3                 async:true,
 4                 type: "POST",
 5                 url: "/AjaxTest/AjaxBackData",
 6                 cache: false,
 7                 data: {
 8                     Name: "SharpL", City: "北京", Age: 18
 9                 },
10                 success: function (result) {
11                     $("#info").text(result);
12                 }
13             });
14         });

JS代码讲解:注意url: "/AjaxTest/AjaxBackData",AjaxTest前的‘/‘千万不能漏掉,博主已经开始怀疑人生了。

     data: {Name: "SharpL", City: "北京", Age: 18},数据就是这样以匿名对象的方式传递过去的。

或者JS代码这样来写:

 1     $(function () {
 2         $("#btn").click(function () {
 3             var data = "";
 4             data += "&Name=" +encodeURI("SharpL");
 5             data += "&Age=" + encodeURI(18);
 6             data += "&City=" + encodeURI("北京");
 7             $.ajax({
 8                 async:true,
 9                 type: "POST",
10                 url: "/AjaxTest/AjaxBackData",
11                 cache: false,
12                 data: data,
13                 success: function (result) {
14                     $("#info").text(result);
15                 }
16             });
17         });
18     });

二者的结果完全相同。

3,后台代码如下:

1         public ActionResult AjaxBackData(STU stu)
2         {
3             string name = stu.Name;
4             int age = stu.Age;
5             string city = stu.City;
6             string tmp=string.Format("{0}年龄{1}岁,来自{2}",name,age,city);
7             return Content(tmp);
8         }

注意Action的参数为STU,直接获取以ajax方式传递过来的数据。

或者后台代码如下:(项目中所使用的经典方式)

1         public ActionResult AjaxBackData()
2         {
3             var stu = new STU();
4             this.UpdateModel(stu);
5             string tmp=string.Format("{0}年龄{1}岁,来自{2}",stu.Name,stu.Age,stu.City);
6             return Content(tmp);
7         }

。。。

当然不一定要以Content的方式,返回处理后的结果给View,但是我的脖子实在是太疼了,所以先去睡觉了

时间: 2024-10-18 08:13:45

ASP.NET MVC中如何以ajax的方式在View和Action中传递数据的相关文章

ASP.NET MVC WebGrid &ndash; Performing true AJAX pagination and sorting 【转】

ASP.NET MVC WebGrid – Performing true AJAX pagination and sorting FEBRUARY 27, 2012 14 COMMENTS WebGrid is a very powerful HTML helper component introduced with ASP.NET MVC 3 and ASP.NET Web Pages. Despite all its cool features, it is troublesome to

Rendering a simple ASP.NET MVC PartialView using JQuery Ajax Post call

http://stackoverflow.com/questions/15466597/rendering-a-simple-asp-net-mvc-partialview-using-jquery-ajax-post-call Rendering a simple ASP.NET MVC PartialView using JQuery Ajax Post call,布布扣,bubuko.com

隐藏ASP.NET MVC的版本信息,使其不在HTTP Header中显示

隐藏ASP.NET MVC的版本信息,使其不在HTTP Header中显示. 一.隐藏:X-AspNetMvc-Version 在Global.asax文件的Application_Start方法中添加: MvcHandler.DisableMvcResponseHeader = true; 二.移除 Header 中的 Server 在Global.asax文件中添加: protected void Application_PreSendRequestHeaders(object sender

mvc如何使用JavaScript在view和controller之间传递数据

在一般的BS项目开发中,我们经常需要在前台和后台之间传递数据,mvc架构中,也需要在view和controller之间传递数据,那么我们应该如何实现呢? view想controller传递数据:view中代码 <li>@Html.ViewComponent().WfSaveLink(Model).Id("saveToLink").OnBeforeDo("externalData")</li> <scriptlanguage="

【MVC架构】——怎样利用Json在View和Controller之间传递数据

在MVC架构中,尽管非常多东西和三层非常相似,可是也有非常大的差别.就比方传递数据.在三层架构中,传递数据就仅仅要一层返回,另外一层用同样类型的变量来接收即可了.在MVC中,事实上原理是一样的,Controller中的方法返回Json字符串.然后View来接收.或者反过来,不同的就是这之间须要一个序列化和反序列化的过程. 本文就简介利用Json在View和Controller之间传递数据的一个方面,大致从双方面介绍,一是什么是Json,二是怎样实现. 什么是Json 一.概念 百度百科说:JSO

View从Action中获得数据和html helper function(转载)

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86

SQL Server中使用数据库快照的方式来完成测试环境中数据库的轻量级备份还原操作

原文:SQL Server中使用数据库快照的方式来完成测试环境中数据库的轻量级备份还原操作 在开发或者测试环境的数据库中,经常会发现有开发或者测试人员误删除表或者数据的情况,对于开发或者测试库,一般都没有安排定时的备份任务去备份数据库,一方面是由于存储资源有限,不太可能给开发或者测试环境准备大量的存储空间,二是必要性不是很强,开发或者测试库的数据库对象变化太多,通过还原备份的方式又有可能冲掉其最近新建的数据库对象.但是不得不面对的问题就是个别人在执行update或者delete操作的时候“忘了加

转:ASP.Net MVC:校验、AJAX与过滤器

原文地址:http://blog.jobbole.com/85005/ 一.校验 — 表单不是你想提想提就能提 1.1 DataAnnotations(数据注解) 位于 System.ComponentModel.DataAnnotations 命名空间中的特性指定对数据模型中的各个字段的验证.这些特性用于定义常见的验证模式,例如范围检查和必填字段.而 DataAnnotations 特性使 MVC 能够提供客户端和服务器验证检查,使你无需进行额外的编码来控制数据的有效. 通过为模型类增加数据描

Asp.net mvc中controller与view间的如何传递数据

1.      Asp.net中的页面指令 无论是在java程序中还是在.net程序中,我们总是会看见一些@指令,那么这些常见指令的作用是什么呢? ?  @Page指令 只能在.aspx页中使用.如果在其他页面中使用会发生编译错误.比较常见的属性有: 1. Language 指出在编译内联代码块和页的<script>节中出现的所有代码时所使用的语言,默认的语言是Visual Basic .NET. 2. AutoEventWireup 指出是否启用页事件.默认为true. VS.NET开发的页