MyMVC框架处理返回值的时机是在ExecuteAction方法中(前面有那段代码)。
这里只做个简单的补充说明。
我为Action的结果定义了一个接口:
public interface IActionResult{ void Ouput(HttpContext context);}
框架内实现了4种ActionResult:
/// <summary> /// 表示一个用户控件结果(用户控件将由框架执行)/// </summary>public sealed class UcResult : IActionResult/// <summary> /// 表示一个重定向的结果/// </summary>public sealed class RedirectResult : IActionResult/// <summary> /// 一个Json对象结果/// </summary>public sealed class JsonResult : IActionResult/// <summary> /// 表示一个页面结果(页面将由框架执行)/// </summary>public sealed class PageResult : IActionResult
要输出返回值的时候,不仅使用了IActionResult接口,我还使用下面这个调用:
context.Response.Write(result.ToString());
不要小看了ToString()的调用。
对于自定义的数据类型来说,可以用它来控制最终输出给客户端的是JSON或者是XML, 或者是您自己定义的文本序列化格式(比如:特殊分隔符拼接而成), 因此,它有足够的能力可以取代JsonResult类型,而且同样不影响Action的单元测试。
ToString()的强大原因在于它是个虚方法,可以被派生类重写。
所以,如果您只打算返回一个数据实体对象给客户端,那么既可以实现IActionResult接口,还可以重写ToString方法。
【相关推荐】
1. 特别推荐:“php程序员工具箱”V0.1版本下载
2. ASP免费视频教程
Atas ialah kandungan terperinci .NET MyMVC框架处理返回值的教程. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!