asp.net-mvc
ActionResult
Поиск…
Синтаксис
// Метод ActionResult возвращает экземпляр, полученный из ActionResult. Вы можете создать метод действия, который может возвращать любой экземпляр, который завернут в соответствующий тип ActionResult.
// Встроенные типы возврата ActionResult:
Посмотреть(); // ViewResult отображает представление как веб-страницу
PartialView (); // PartialViewResult отображает частичное представление, которое может использоваться как часть другого представления.
Перенаправление (); // RedirectResult перенаправляет на другой метод действия, используя свой URL.
RediectToAction (); RedirectToRoute (); // RedirectToRouteResult перенаправляет на другой метод действий.
Содержание (); // ContentResult возвращает пользовательский тип содержимого.
Json (); // JsonResult возвращает сериализованный объект JSON.
JavaScript (); // JavaScriptResult возвращает скрипт, который может быть выполнен на стороне клиента.
Файл(); // FileResult возвращает двоичный вывод для записи в ответ.
// EmptResult представляет возвращаемое значение, которое используется, если метод действия должен возвращать нулевой результат.
Методы действий
Когда пользователь вводит URL-адрес, например: http://example-website.com/Example/HelloWorld , приложение MVC будет использовать правила маршрутизации для синтаксического анализа этого URL-адреса и извлечения подпути, которые будут определять контроллер, действие и возможные параметры. Для вышеуказанного URL-адреса результатом будет / Example / HelloWorld, который по умолчанию в результатах правил маршрутизации предоставляет имя контроллера: Exmaple и имя действия: HelloWorld.
public class ExampleController: Controller
{
public ActionResult HelloWorld()
{
ViewData["ExampleData"] = "Hello world!";
return View();
}
}
Вышеуказанный метод ActionResult «HelloWorld» отобразит представление HelloWorld, где мы можем использовать данные из ViewData.
Сопоставление параметров Action-Method
Если в URL-адресе будет другое значение, например: / Example / ProcessInput / 2, правила маршрутизации будут угрожать последнему числу в качестве параметра, переданного в действие ProcessInput контроллера.
public ActionResult ProcessInput(int number)
{
ViewData["OutputMessage"] = string.format("The number you entered is: {0}", number);
return View();
}
Вызов ActionResult в другой ActionResult
Мы можем вызвать результат действия в другом результате действия.
public ActionResult Action1()
{
ViewData["OutputMessage"] = "Hello World";
return RedirectToAction("Action2","ControllerName");
//this will go to second action;
}
public ActionResult Action2()
{
return View();
//this will go to Action2.cshtml as default;
}