背景:

  博客中将构建一个小示例,用于演示在ASP.NET MVC4项目中,如何使用JQuery Ajax。

  直接查看JSon部分

步骤:

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),用来接收并处理视图传递过来的数据,并返回执行结果给视图,代码如下:

         public ActionResult AddUsers()
{
var my = new MyModel();
string result = string.Empty;
if(Request.IsAjaxRequest())
{
this.UpdateModel(my);
string name = my.Name;
int age = my.Age;
if (age < ) result = name+"的文章好烂啊";
else result = name+",记得烂也要写";
}
return Content(result);
}

  如代码所示:直接用Content返回一个字符串。

  或者是返回一个 ContentResult()对象,与上面的代码类似(可以折叠了),代码如下:

         public ActionResult DoWithUsers()
{
var actionResult = default(ContentResult);
var my = new MyModel();
try
{
this.UpdateModel(my);
string name = my.Name;
int age = my.Age;
string temp = "";
if (age < ) temp = "的文章好烂啊";
else temp = ",记得烂也要写";
actionResult = new ContentResult()
{
Content = name + temp
};
}
catch(Exception ex)
{
return null;
}
return actionResult;
}

3,修改Jquery&Ajax代码:

     $(document).ready(function () {
$("#btn1").click(function () {
var data = "";
var name = $("#txtName").val();
var age = $("#txtAge").val();
data += "&Name=" + encodeURI(name);
data += "&Age=" + encodeURI(age);
$.ajax({
async: true,
cache: false,
timeout: * * ,
data: data,
type: "GET",
datatype: "JSON",
url: "/Ajax/AddUsers",
success:function(result)
{
$("#display").text(result);
},
error: function (result) {
$("#display").html("error");
},
})
});

4,运行效果如图:

以上,最简单的ASP.NET MVC4&JQuery&AJax示例完成了。


以Json方式发送Action处理后的结果:

更多的情况下,不止是返回一个字符串,而是以Json的方式返回结果。

5,修改Action如下:

         public ActionResult DoWithUsers()
{
var my = new MyModel();
try
{
this.UpdateModel(my);
string name = my.Name;
int age = my.Age;
string temp = "";
if (age < ) temp = "的文章好烂啊";
else temp = ",记得烂也要写";
JavaScriptSerializer jss = new JavaScriptSerializer();
return Json(jss.Serialize(new { Name = name, Message = temp }), JsonRequestBehavior.AllowGet);
}
catch(Exception ex)
{
return null;
}
}

说明:JSon方法返回一个JSonResult,而JSonResult同样是继承自ActionResult的。

6,修改AJax部分,代码如下:

                 success:function(result)
{
result = JSON.parse(result);
$("#display").text(result.Name + result.Message);
},

运行效果一致。
以上,最简单的ASP.NET MVC4&JQuery&AJax&JSon示例完成。

出处:http://www.cnblogs.com/SharpL/p/4641040.html

如何构建 MVC&AJax&JSon示例的更多相关文章

  1. 如何构建ASP.NET MVC4&JQuery&AJax&JSon示例

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

  2. MVC $.Ajax()+Json实现数据库访问并显示数据

    我们在使用搜索引擎时经常会看到这样一个效果 在输出输入相关文字时会有与之对应的相关提醒,作为一个MVC初学者我也做了一个简单版的“搜索工具”,分享给初学mvc和ajax的童鞋(各位大神勿喷),也加深我 ...

  3. ajax使用向Spring MVC发送JSON数据出现 org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported错误

    ajax使用向Spring MVC发送JSON数据时,后端Controller在接受JSON数据时报org.springframework.web.HttpMediaTypeNotSupportedE ...

  4. Spring MVC使用@RestController生成JSON示例

    继上一章的生成JSON示例http://www.cnblogs.com/EasonJim/p/7500405.html,现在还有另一种选择,就是使用@RestController,下面将参照上一节例子 ...

  5. php ajax json jquery 记录

    php+jquery+ajax+json简单小例子 <html> <title>php+jquery+ajax+json简单小例子</title> <?php ...

  6. php+jquery+ajax+json简单小例子

    直接贴代码: <html> <title>php+jquery+ajax+json简单小例子</title> <?php header("Conte ...

  7. 基于MVC4+EF5.0+Ajax+Json+CSS3的简单注册页面(get&post)

    使用mvc4可以很快速的创建页面,但封装的过多,难免会有些性能上的问题.所以基于此,通过使用简单的手写html,加ajax,json来创建一个注册页面,会比较干净,简洁. 本项目的环境是MVC4+EF ...

  8. spring mvc返回json字符串的方式

    spring mvc返回json字符串的方式 方案一:使用@ResponseBody 注解返回响应体 直接将返回值序列化json            优点:不需要自己再处理 步骤一:在spring- ...

  9. JFreeChart与AJAX+JSON+ECharts两种处理方式生成热词统计可视化图表

    本篇的思想:对HDFS获取的数据进行两种不同的可视化图表处理方式.第一种JFreeChar可视化处理生成图片文件查看.第二种AJAX+JSON+ECharts实现可视化图表,并呈现于浏览器上.   对 ...

随机推荐

  1. CF576E Painting Edges

    首先,有一个很暴力的nk的做法,就是对每种颜色分别开棵lct来维护. 实际上,有复杂度与k无关的做法. 感觉和bzoj4025二分图那个题的区别就在于这个题是边dfs线段树边拆分区间.

  2. Linux的三种网络适配器

    Linux的三种网络适配器 分别为:桥接模式(Bridged),NAT模式,仅主机模式. 仅主机模式:        2>NAT模式 NAT 是虚拟机和本地网络使用一个ip地址 3>桥接模 ...

  3. 装载问题(load)

    装载问题(load) 问题描述: 有一批共n 个集装箱要装上艘载重量为c 的轮船,其中集装箱i 的重量为wi.找出一种最 优装载方案,将轮船尽可能装满,即在装载体积不受限制的情况下,将尽可能重的集装箱 ...

  4. jenkins邮件配置----jenkins笔记(三)

    转载地址:https://www.cnblogs.com/sylvia-liu/p/4527390.html 前言 最近搭建Maven+Testng+jenkins的持续集成环境,希望最后实现自动邮件 ...

  5. jsp 自定义标签库

    自定义标签的作用 *** 自定义标签的主要用于移除jsp页面中java代码 *** JSP页面中使用自定义的标签 使用jsp指令<% @taglib uri="标签库的uri" ...

  6. 开发工具之play framework

    Play!是一个full-stack(全栈的)Java Web应用框架,包括一个简单的无   状态MVC模型,具有Hibernate的对象持续,一个基于Groovy的模板引擎,以及建立一个现代Web应 ...

  7. ADO SQL delete 日期条件参数

    unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...

  8. PHP程序后台自动运行

    如何让php程序自动执行,这个就需要用到一个函数了: int ignore_user_abort ( [bool setting] ) 定义和用法ignore_user_abort() 函数设置与客户 ...

  9. Linux 系统信息查询

    众所周知,Linux大部分操作是通过命令实现的,并不像windows那么直观.linux查看硬件信息也是需要通过linux查看硬件信息命令查询的,下面小编来分享一下linux查看硬件信息的方法和命令写 ...

  10. Python GIL 系列之再谈Python的GIL

    1. 之前写过一篇<通过实例认识Python的GIL>的文章,感觉有些意犹未尽 2. 这次对例子作了些扩展,进一步的分析GIL对Python程序的影响 2.1 先来看例子: [python ...