zoukankan      html  css  js  c++  java
  • ASP.NET MVC视图

    • 前言
      视图即是用户与Web应用程序的接口,用户通常会看到视图,然后在视图上进行交互,Web应用程序的视图通常是HTML格式。

    • 首先了解控制器选择返回哪个视图的问题。新建一个项目,浏览到/Home/About,可以发现,ASP.NET MVC自动返回了位于项目目录下的/Views/Home/About.cshtml。打开对应的控制器——位于项目目录下的/Controller/HomeController.cs文件。

      HomeController.cs中的内容如下:

        public ActionResult Index()
        {
            return View();
        }
      
        public ActionResult About()
        {
            ViewBag.Message = "My application description page.";
            return View();
        }
      
        public ActionResult Contact()
        {
            ViewBag.Message = "Your contact page.";
            return View();
        }  
      

    结合前述ASP.NET MVC控制器Controller的内容可知道,URL被路由映射到HomeController中的About方法。起返回视图作用的只有一句:return View();但是ASP.NET MVC准确的返回了/Views/Home/About.cshtml.这是实际上是ASP.NET MVC的视图约定,以下为个人总结:

    1.直接法。当出现return View();时,ASP.NET MVC将自动搜索与本控制器同名的位于Views目录的文件夹,返回与本方法同名的html文件。具体到上面的例子,ASP.NET MVC的视图选择逻辑遇到return View();后,发现About方法在HomeController内,于是到存储视图的Views目录下寻找Home文件夹,找到Home文件夹后,寻找与About方法同名的html文件,当找到About.cshtml文件后,将其返回。

    2.自行搜索法。当出现return View("[html名]");,ASP.NET MVC视图选择逻辑将在ControllerName文件夹下搜索名为[html名]的视图文件。

    3.绝对定位。当出现return View(~/Views/.../[html名].cshtml)时,ASP.NET MVC视图选择逻辑将按照路径~/Views/.../搜索视图[html].cshtml文件,并将其返回。注意:使用此方法时,为了使查找视图时避开视图引擎的内部搜索机制,应该提供视图的扩展名。具体到上面的例子,如果希望使用此方法返回About.cshtml视图,应该将return View();替换为return View("~/Views/Home/About.cshtml");

  • 相关阅读:
    ini 文件
    基元类型、引用 类型与值类型
    C#的 is 和 as 类型转换
    MVC 项目中为什么会有两个web.config
    Linux下安装SVN服务端小白教程
    测试博文中添加可执行JS代码
    坑爹坑娘坑祖宗的87端口(记一次tomcat故障排查)
    fsfds
    高斯混合模型Gaussian Mixture Model (GMM)
    ggplot2绘制概率密度图
  • 原文地址:https://www.cnblogs.com/mengnan/p/9307723.html
Copyright © 2011-2022 走看看