【发布时间】:2017-09-13 22:03:38
【问题描述】:
鉴于我们有一个控制器方法只返回一个带有模型对象的 ViewResult,MVC 或 Razor 引擎如何继续查找要使用的 View,只给定 ViewResult? 例如
public ActionResult Index()
{
return View( db.Persons.ToList());
}
编辑:换句话说,一旦此方法返回,所有引擎必须继续运行的是 ViewResult。用于查找视图的任何内容都必须存储在此 ViewResult 中。
它是否使用 cshtml 文件顶部的绑定?
@model IEnumerable<Database.Models.Person>
还是使用模型类的字符串名称,通过路由查找?
或者它真的记得哪个控制器调用了 View() 方法,并以此为基础?
还是别的什么?
对不起,如果这是一个明显的问题。我已经阅读了很多 Stackoverflow 问题和其他页面,但找不到使用哪种方式...我看到很多关于 URL 如何映射到控制器的讨论,但这不是我感兴趣的部分。
【问题讨论】:
-
它使用约定。如果您不指定视图的名称,它将在
/Views/YourControllerName文件夹中查找与方法名称匹配的.cshtml文件(如果未找到匹配项,它还会在Shared文件夹中查找。
标签: asp.net-mvc razor