asp.net - 在 ASP.NET MVC 中,控制器如何知道要调用哪个视图?
问题描述
这听起来像是一个愚蠢的问题,我是一个相当有经验的程序员,但我对 .NET 和 MVC 是全新的。
在我上的一个类中,我们有一个控制器类 (Homecontroller.cs) 我知道在 ActionResult Index() 方法中调用 Return View() 将导致 .NET 使用文件 Index.cshtml 查找“主页”视图. 然而,在这个例子中,我们返回了 View(cars),其中 car 是 Car 类型的一个实例。因此,即使没有“汽车”视图,代码也会返回 Views/Home/index.html。但该类是 Car 类型的模型。因此,如果您在“返回视图”中返回了一种对象类型,ASP.NET 是否会搜索 .chstml 文件以查找该模型类型?或者它仍然只是在寻找 Home/Index.html 因为返回 View 是从 index 方法调用的。简而言之,在下面的代码中,ASP.NET 如何知道要转到 Views/Home/Index.cshtml?我将在下面粘贴相关代码:
控制器/HomeController.cs:
public class HomeController : Controller
{
// GET: Home
public ActionResult Index()
{
var cars = HelloMVC.Models.HelloModel.GetCars();
return View(cars);
}
}
视图/主页/Index.cshtml:
@model List<HelloMVC.Models.HelloModel.Car>
@{
ViewBag.Title = "Index";
}
@foreach (var car in Model)
{
<p>@car.ID - @car.Make - @car.Model</p>
}
解决方案
搜索地点:
~/Views/{ControllerName}/{ActionName}.cshtml
~/Views/Shared/{ActionName}.cshtml
推荐阅读
- python - 键入“(”时python IDLE关闭
- python - 从 blablacar 网站提取 5000 个骑行细节
- javascript - 用于翻译容器的 Javascript/jQuery addClass/removeClass 不起作用
- gcc - 在树莓派 3 上安装 gcc-aarch64-linux-gnu 交叉编译器
- javascript - 触发 onclick 事件时调用的函数中的 Javascript switch 语句
- android - 如何将 Android 源类复制到项目中?
- d3.js - 是否可以在 D3 中可视化大图?
- java - Android Studio - 聊天不显示
- gradle - gradle:如何从另一个项目访问 gradle.properties
- css - 单击同一页面上的锚链接时关闭汉堡菜单