zoukankan      html  css  js  c++  java
  • ASP.NET CoreMVC 中的视图

    ASP.NET Core MVC 中的视图

    MVC 中的视图

    • 用于显示Controller提供给它的 Model 的业务数据。
    • 视图是带有嵌入 Razor 标记的 HTML 模板。
    • 如果编程语言是 C#,则视图文件具有.cshtml 扩展名。

    举个栗子

    例如,在我们的 MVC 项目中,我们有 2 个控制器 - HomeControllerStudentController

    HomeController具有以下 3 个操作方法:

    • Index()
    • Details()
    • Edit()

    StudentController具有以下 3 种操作方法:

    • List()
    • Details()
    • Edit()

    视图文件夹结构

    视图文件夹结构

    • 对于每个Controller,我们在“Views”文件夹中有一个单独的文件夹。
    • 所有HomeController的视图都位于“Views”文件夹中的Home文件夹中。
    • 所有StudentController的视图都位于“Views”文件夹中的Student文件夹中。
    • 每个视图文件都有一个相同名称的控制器操作方法。

    视图(View)发现

    查看 HomeController,里面只有一个操作方法Details(),这个**Details()方法会调用View()**方法返回一个视图。View()方法是由基类Controller提供。

    public class HomeController : Controller
    {
        public ViewResult Details()
        {
            return View();
        }
    }
    

    Details() 操作方法会返回一个视图,因此默认情况下 MVC 会查找具有相同名称且扩展名为.cshtml 的视图文件。所以在这种情况下,它会查找 Details.cshtml。它按指定的顺序在以下 3 个位置查找此文件 。 因为 Controller 名称是 HomeController,所以

    • 首先在“/ Views / Home /”文件夹中,
    • 然后在“/ Views / Shared /”文件夹中
    • 最后在“/ Pages / Shared /”文件夹中 如果找到视图文件,则视图生成的 HTML 将发送回发出请求的客户端。如果找不到视图文件,我们会收到以下错误。
    InvalidOperationException: The view 'Details' was not found. The following locations were searched:
    /Views/Home/Details.cshtml
    /Views/Shared/Details.cshtml
    /Pages/Shared/Details.cshtml
    
    


    欢迎添加个人微信号:Like若所思。

    欢迎关注我的公众号,不仅为你推荐最新的博文,还有更多惊喜和资源在等着你!一起学习共同进步!

  • 相关阅读:
    NumPy 百题大冲关,冲鸭!
    33 个送给 Java 程序员的练手项目合集
    比特币——带你掌握未来的技术和财富
    HTML5 蔡徐坤打篮球游戏 NMSL❤️❤️❤️
    网络协议基础:“工作中模模糊糊的概念,这次终于理顺了!”
    昨天521表白失败,我想用Python分析一下...表白记录和聊天记录
    有哪些好用不火的软件?
    如何处理负载、高并发?
    怎么实现第三方登录?
    购物车的原理?
  • 原文地址:https://www.cnblogs.com/cool2feel/p/11457511.html
Copyright © 2011-2022 走看看