Данное руководство устарело. Актуальное руководство: Руководство по ASP.NET Core 7
ContentResult отправляет клиенту ответ в виде строки. Так, следующий пример:
public string Area(int altitude, int height) { double area = altitude * height/2; return $"Площадь треугольника с основанием {altitude} и высотой {height} равна {area}"; }
Можно переписать с использованием ContentResult:
public IActionResult Area(int altitude, int height) { double area = altitude * height/2; return Content($"Площадь треугольника с основанием {altitude} и высотой {height} равна {area}"); }
Для отправки ContentResult не надо использовать конструктор, так как в контроллере уже определен специальный метод Content(), который принимает отправляемую строку и создает объект ContentResult.
Одним из наиболее популярных в наше время форматов хранения и передачи данных является формат JSON (JavaScript Object Notation). JSON не зависит от языка программирования, он более удобен и легче обрабатывается.
В JSON каждый отдельный объект заключается в фигурные скобки и представляет собой набор пар ключ-значение, разделенных запятыми, где ключом является
название свойства объекта, а значением соответственно значение этого свойства. Например: {"name":"Tom"}
. Здесь "name" является ключом, а "Tom" - значением.
Для отправки объекта в формате json в контроллере имеется метод Json(object obj), который в качестве параметра принимает отправляемый объект. Например:
public JsonResult GetName() { string name = "Tom"; return Json(name); }
В данном случае на сторону клиента отправляется строка "Tom".
Допустим, у нас есть следующий класс User:
public class User { public string Name { get; set; } public int Age { get; set; } }
И тогда для отправки клиенту объекта User мы можем написать следующий метод:
public JsonResult GetUser() { User user = new User { Name = "Tom", Age = 28 }; return Json(user); }
При обращении к методу из адресной строки браузера веб-браузер выведет полное описание объекта в формате json: