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免費影片教學
##################### ########6.###### ###.NET MyMVC架構如何為方法賦值的教學############以上是.NET MyMVC框架處理傳回值的教學課程的詳細內容。更多資訊請關注PHP中文網其他相關文章!