在之前的两篇文章(《EmptyResult & ContentResult》和《FileResult》)我们剖析了EmptyResult、ContentResult和FileResult这三种ActionResult是如何将Action执行的结果响应给客户端的。本篇文章着重介绍在进行Ajax调用中经常使用的两个ActionResult,即JavaScriptResult和JsonResult。[本文已经同步到《How ASP.NET MVC Works?》中]

目录
一、JavaScriptResult
二、实例演示:通过JavaScriptResult返回字段在客户端自动执行的JavaScript
三、JsonResult

JavaScriptResult使我们可以在服务端动态地生成一段JavaScript脚本,并以此作为请求的响应,而这段脚本会在客户端被执行。其实JavaScriptResult的实现非常简单,它仅仅是将表示JavaScript脚本的字符串通过当前的HttpResponse响应给请求的客户端而已。如下面的代码片断所示,JavaScriptResult的属性Script表示响应的JavaScript脚本,而用于响应JavaScript脚本的ExecuteResult方法除了将脚本内容写入当前HttpResponse之外,还会将响应的媒体类型设置为“application/x-javascript”(不是“text/javascript”)。

class JavaScriptResult : ActionResult
   2: {
void ExecuteResult(ControllerContext context)
   4:     {        
   5:         HttpResponseBase response = context.HttpContext.Response;
;
this.Script);
   8:     }
string Script { get; set; }
  10: }
  11:  
class Controller : ControllerBase, ...
  13: {
//其他成员
string script);
  16: }

相关文章:

  • 2021-08-19
  • 2022-12-23
  • 2022-12-23
  • 2022-02-20
  • 2021-12-12
  • 2021-12-03
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-06-06
  • 2021-10-07
  • 2021-11-25
相关资源
相似解决方案