我试图了解生成视图的确切方法是什么?我已经了解了当我们向服务器发送http
请求时,会执行以下后续操作:
ControllerContext
类实例actResult
ActionResult
的实例后,调用了actResult.ExecuteResult(ControllerContext context)
。问题:我对请求处理的理解是否正确?而且我不明白究竟是什么产生了响应文本?我对生成响应主体的方法感兴趣吗?
答案 0 :(得分:0)
解决您的具体问题:
该操作返回结果。如果此结果是视图结果,则选择适当的视图引擎,然后此引擎将呈现视图。
我的第一个链接的详细信息:
查看结果
action方法接收用户输入,准备适当的响应数据,然后通过返回结果来执行结果 类型。结果类型可以是ViewResult,RedirectToRouteResult, RedirectResult,ContentResult,JsonResult,FileResult和 EmptyResult。
查看引擎
执行视图结果的第一步涉及选择适当的视图引擎以呈现视图结果。它 由视图引擎的IViewEngine接口处理。默认情况下 Asp.Net MVC使用WebForm和Razor视图引擎。你也可以注册 您自己的自定义视图引擎到您的Asp.Net MVC应用程序,如图所示 下面:
protected void Application_Start()
{
//Remove All View Engine including Webform and Razor
ViewEngines.Engines.Clear();
//Register Your Custom View Engine
ViewEngines.Engines.Add(new CustomViewEngine());
//Other code is removed for clarity
}
查看强>
Action方法可以返回文本字符串,二进制文件或Json格式的数据。最重要的操作结果是ViewResult,它使用当前视图引擎将HTML页面呈现并返回到浏览器。