Controller JSON是一種將數據格式化成JSON(JavaScript Object Notation)格式的操作控制器,在Web開發的過程中非常常見。這種數據格式易于讀取,減少了服務器和客戶端之間的數據傳輸量,提高了性能。
Controller JSON通常由以下兩個方面組成:
// 1. 控制器 public class ProductController : Controller { // ... // 2. Json 格式處理 public ActionResult Details(int id) { Product product = productService.GetProduct(id); if (product == null) { return HttpNotFound(); } return Json(product, JsonRequestBehavior.AllowGet); } // ... }
上面的代碼展示了一個ProductController的基本模板,其中Details是一個用來處理JSON格式的方法。它通過調用service來獲得某個產品的詳細信息,并將返回的結果轉換成JSON格式的數據,再通過Json方法傳遞到瀏覽器端展示。
除了接受來自service返回的數據以外,Controller JSON還可以接收和處理來自Ajax請求的數據。一個典型的例子如下面的代碼:
[HttpPost] public JsonResult CheckUsername(string username) { bool isExisted = userService.IsUsernameExisted(username); if (isExisted) { return Json("This username has already existed."); } return Json(true); }
上述代碼展示了一個在Ajax請求中檢查用戶名是否已經存在的場景。首先通過接收Ajax請求中用戶輸入的用戶名,然后調用userService的IsUsernameExisted方法判斷用戶名是否已經存在。如果存在,則返回該用戶名已經存在的錯誤提示信息;否則返回true。