📅  最后修改于: 2023-12-03 15:41:55.403000             🧑  作者: Mango
在 ASP.NET MVC 中,返回视图是非常常见的操作。这个过程通常是由控制器的某个操作方法处理的,该方法返回一个视图。
ASP.NET MVC 中返回视图有其自己的语法。我们可以通过以下方式中的任何一种方式来返回视图:
// 返回 ViewResult
public ViewResult MyAction()
{
// ...
return View();
}
// 返回 PartialViewResult
public PartialViewResult MyAction()
{
// ...
return PartialView();
}
// 返回 RedirectResult
public RedirectResult MyAction()
{
// ...
return Redirect("http://www.example.com");
}
// 返回 RedirectToRouteResult
public RedirectToRouteResult MyAction()
{
// ...
return RedirectToRoute("MyRoute");
}
// 返回 JsonResult
public JsonResult MyAction()
{
// ...
return Json(new { name = "John", age = 35 }, JsonRequestBehavior.AllowGet);
}
// 返回 FileResult
public ActionResult MyAction()
{
// ...
return File("~/Content/MyFile.pdf", "application/pdf");
}
我们也可以使用注解来为操作方法指定应返回的视图。例如:
// 返回名为 MyView 的视图
[HttpGet]
[Route("my-action")]
[ActionName("MyAction")]
[Authorize(Roles = "Admin")]
public ActionResult MyAction()
{
// ...
return View("MyView");
}
返回数据模型非常常见,这意味着要将某种形式的数据传递给视图。为了做到这一点,我们需要先确定应该使用什么类型的模型。下面是一些常见的选项:
在操作方法中,我们通过将模型传递给 View() 方法来返回数据模型:
public ActionResult MyAction()
{
MyViewModel model = new MyViewModel();
// ...
return View(model);
}
在这个例子中,我们将 MyViewModel 类型的对象传递给 View() 方法。
在 View() 方法中,我们可以将这个模型作为参数传递给视图。在视图中,我们可以使用 Razor 语法访问模型的属性。
在 ASP.NET MVC 中,我们可以通过多种方式返回视图。我们可以返回部分视图、重定向到其他位置、返回 Json 或文件等。我们还可以将数据模型传递给视图,以便在处理视图时能够使用该模型的属性。