如何构建ASP.NET MVC4&JQuery&AJax&JSon示例
背景:
博客中将构建一个小示例,用于演示在ASP.NET MVC4项目中,如何使用JQuery Ajax。
步骤:
1,添加控制器(HomeController)和动作方法(Index),并为Index动作方法添加视图(Index.cshtml),视图中HTML如下:

输入你的姓名:
<input type="text" id="txtName"/><br/>
输入你的年龄:
<input type="text" id="txtAge" /><br />
<button type="button" id="btn1">提交</button>
<button type="button" id="btn2">清空</button>
<p id="display"></p>

视图中包含两个文本框,分别用来输入名字和年龄,包含连个按钮,分别用来提交信息和清空文本框的内容,同时包含一个段落,用来显示Ajax返回的数据信息。
2,在Home控制器中添加另外一个动作方(AddUsers),用来接收并处理视图传递过来的数据,并返回执行结果给视图,代码如下:

1 public ActionResult AddUsers()
2 {
3 var my = new MyModel();
4 string result = string.Empty;
5 if(Request.IsAjaxRequest())
6 {
7 this.UpdateModel(my);
8 string name = my.Name;
9 int age = my.Age;
10 if (age < 18) result = name+"的文章好烂啊";
11 else result = name+",记得烂也要写";
12 }
13 return Content(result);
14 }

如代码所示:直接用Content返回一个字符串。
或者是返回一个 ContentResult()对象,与上面的代码类似(所以折叠了),代码如下:

1 public ActionResult DoWithUsers()
2 {
3 var actionResult = default(ContentResult);
4 var my = new MyModel();
5 try
6 {
7 this.UpdateModel(my);
8 string name = my.Name;
9 int age = my.Age;
10 string temp = "";
11 if (age < 18) temp = "的文章好烂啊";
12 else temp = ",记得烂也要写";
13 actionResult = new ContentResult()
14 {
15 Content = name + temp
16 };
17 }
18 catch(Exception ex)
19 {
20 return null;
21 }
22 return actionResult;
23 }

3,修改Jquery&Ajax代码:

1 $(document).ready(function () {
2 $("#btn1").click(function () {
3 var data = "";
4 var name = $("#txtName").val();
5 var age = $("#txtAge").val();
6 data += "&Name=" + encodeURI(name);
7 data += "&Age=" + encodeURI(age);
8 $.ajax({
9 async: true,
10 cache: false,
11 timeout: 60 * 60 * 1000,
12 data: data,
13 type: "GET",
14 datatype: "JSON",
15 url: "/Ajax/AddUsers",
16 success:function(result)
17 {
18 $("#display").text(result);
19 },
20 error: function (result) {
21 $("#display").html("error");
22 },
23 })
24 });

4,运行效果如图:

以上,最简单的ASP.NET MVC4&JQuery&AJax示例完成了。
以Json方式发送Action处理后的结果:
更多的情况下,不止是返回一个字符串,而是以Json的方式返回结果。
5,修改Action如下:

1 public ActionResult DoWithUsers()
2 {
3 var my = new MyModel();
4 try
5 {
6 this.UpdateModel(my);
7 string name = my.Name;
8 int age = my.Age;
9 string temp = "";
10 if (age < 18) temp = "的文章好烂啊";
11 else temp = ",记得烂也要写";
12 JavaScriptSerializer jss = new JavaScriptSerializer();
13 return Json(jss.Serialize(new { Name = name, Message = temp }), JsonRequestBehavior.AllowGet);
14 }
15 catch(Exception ex)
16 {
17 return null;
18 }
19 }

说明:JSon方法返回一个JSonResult,而JSonResult同样是继承自ActionResult的。
6,修改AJax部分,代码如下:
1 success:function(result)
2 {
3 result = JSON.parse(result);
4 $("#display").text(result.Name + result.Message);
5 },
运行效果一致。
以上,最简单的ASP.NET MVC4&JQuery&AJax&JSon示例完成。
摘自:https://www.cnblogs.com/SharpL/p/4641040.html
如何构建ASP.NET MVC4&JQuery&AJax&JSon示例的更多相关文章
- 练习 jquery+Ajax+Json 绑定数据 分类: asp.net 练习 jquery+Ajax+Json 绑定数据 分类: asp.net
练习 jquery+Ajax+Json 绑定数据
- 如何构建 MVC&AJax&JSon示例
背景: 博客中将构建一个小示例,用于演示在ASP.NET MVC4项目中,如何使用JQuery Ajax. 直接查看JSon部分 步骤: 1,添加控制器(HomeController)和动作方法(In ...
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(44)-工作流设计-设计表单
原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(44)-工作流设计-设计表单 系列目录 设计表单是比较复杂的一步,完成一个表单的设计其实很漫长,主要分为四 ...
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(33)-数据验证共享
原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(33)-数据验证共享 注:本节阅读需要有MVC 自定义验证的基础,否则比较吃力 一直以来表单的验证都是不可 ...
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(7)-MVC与EasyUI DataGrid
原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(7)-MVC与EasyUI DataGrid 没有源码的同学跳到第六讲下载源码再来. 我们需要漂亮的UI, ...
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(1)-前言与目录(持续更新中...)
转自:http://www.cnblogs.com/ymnets/p/3424309.html 曾几何时我想写一个系列的文章,但是由于工作很忙,一直没有时间更新博客.博客园园龄都1年了,却一直都是空空 ...
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(48)-工作流设计-起草新申请
原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(48)-工作流设计-起草新申请 系列目录 创建新表单之后,我们就可以起草申请了,申请按照严格的表单步骤和分 ...
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(45)-工作流设计-设计步骤
原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(45)-工作流设计-设计步骤 系列目录 步骤设计很重要,特别是规则的选择. 我这里分为几个规则 1.按自行 ...
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(43)-工作流设计-字段分类设计
原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(43)-工作流设计-字段分类设计 系列目录 建立好42节的表之后,每个字段英文表示都是有意义的说明.先建立 ...
随机推荐
- Luogu1438 无聊的数列(单点查询)&&加强版(区间查询)
题目链接:戳我 线段树中差分和前缀和的应用 其实对于加上等差数列的操作我们可以分成这样三步-- update(1,1,n,l,l,k); if(r>l) update(1,1,n,l+1,r,d ...
- 【Oracle 12c】最新CUUG OCP-071考试题库(57题)
57.(14-17) choose two: Examine the structure of the DEPARTMENTS table You execute the following comm ...
- IIS发布好的网页突然不显示图片了
按以下步骤把地址加到ie的本地intranet就好了
- IT项目中使用 json格式数据 保存项目配置信息, 在配置文件再读取json文件的内容进行赋值
json格式小巧玲珑,适合做配置文件,特别是大型项目中, 可以将配置信息分类保存到不同的json文件中, 然后再在配置文件中读取配置文件的数据进行赋值, 这里以python为例进行说明: 假设在you ...
- 引入阿里的druid
Druid首先是一个数据库连接池,但它不仅仅是一个数据库连接池,它还包含一个ProxyDriver,一系列内置的JDBC组件库,一个SQL Parser. Druid支持所有JDBC兼容的数据库,包括 ...
- Markdown入门简介
参考 http://sspai.com/25137 作者: Te_Lee 文章来源: 少数派 Markdown入门简介(使用工具Haroopad) 一.使用的工具----haroopad(http:/ ...
- linux下安装gcc详解
1.了解一下gcc 目前,GCC可以用来编译C/C++.FORTRAN.JAVA.OBJC.ADA等语言的程序,可根据需要选择安装支持的语言.我自己linux上是4.1.2版本,是不支持openMP的 ...
- canvas+js绘制序列帧动画+面向对象
效果: 素材: 源码:(一般的绘制方式) <!DOCTYPE html> <html lang="en"> <head> <meta ch ...
- Highcharts图表.net版开源,支持webform 和 mvc3,完全开源
Highcharts是一个制作图表的纯Javascript类库,主要特性如下: 兼容性:兼容当今所有的浏览器,包括iPhone.IE和火狐等等: 对个人用户完全免费: 纯JS,无BS: 支持大部分的图 ...
- Vagrant 创建虚拟机
Vagrant 创建虚拟机 1. 下载相关软件 虚拟机软件:vmware virtualbox Vagrant 软件:vagrant cd /tmpwget http://download.vir ...