在MVC中,ActionResult是一个抽象类,是所有Action方法返回类型的基类。其中,返回类型为JSON数据的Action方法需要使用JsonResult类。
返回JsonResult的Action方法可以通过以下方式实现:
public JsonResult GetJsonData() { var data = new {Name = "张三",Age = 18}; return Json(data,JsonRequestBehavior.AllowGet); }
在上述代码块中,首先定义了一个匿名对象data,它包含了两个属性Name和Age。然后,使用Json方法将该对象转换成JSON格式,并指定JsonRequestBehavior参数为AllowGet,以允许GET请求获取JSON数据。
需要注意的是,返回JsonResult的Action方法必须采用HttpGet方式请求,否则会抛出异常。
对于不符合要求的请求方式,可以在控制器中添加以下代码解决问题:
protected override void HandleUnkNownAction(string actionName) { Response.StatusCode = 404; Response.TrySkipIisCustomErrors = true; Response.WriteAsync("无效的操作:" + actionName); Response.ContentType = "text/plain"; Response.End(); }
在上述代码块中,HandleUnkNownAction方法处理了未知的Action方法,并设置了HTTP状态码为404,并写入响应流中。
在客户端请求该Action方法时,会返回一个JSON格式的字符串,格式如下所示:
{ "Name": "张三","Age": 18 }
通过返回JSON格式的数据,可以更方便地进行AJAX开发,提高应用程序的用户体验。