• 前言

    视图即是用户与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");

ASP.NET MVC视图的更多相关文章

  1. ASP.NET MVC 视图(五)

    ASP.NET MVC 视图(五) 前言 上篇讲解了视图中的分段概念.和分部视图的使用,本篇将会对Razor的基础语法简洁的说明一下,前面的很多篇幅中都有涉及到视图的调用,其中用了很多视图辅助器,也就 ...

  2. ASP.NET MVC 视图(四)

    ASP.NET MVC 视图(四) 前言 上篇对于利用IoC框架对视图的实现进行依赖注入,最后还简单的介绍一下自定义的视图辅助器是怎么定义和使用的,对于Razor语法的细节和辅助器的使用下篇会说讲到, ...

  3. ASP.NET MVC 视图(三)

    ASP.NET MVC 视图(三) 前言 上篇对于Razor视图引擎和视图的类型做了大概的讲解,想必大家对视图的本身也有所了解,本篇将利用IoC框架对视图的实现进行依赖注入,在此过程过会让大家更了解的 ...

  4. ASP.NET MVC 视图(二)

    ASP.NET MVC 视图(二) 前言 上篇中对于视图引擎只是做了简单的演示,对于真正的理解视图引擎的工作过程可能还有点模糊,本篇将会对由MVC框架提供给我们的Razor视图引擎的整个执行过程做一个 ...

  5. ASP.NET MVC 视图(一)

    ASP.NET MVC 视图(一) 前言 从本篇开始就进入到了MVC中的视图部分,在前面的一些篇幅中或多或少的对视图和视图中的一些对象的运用进行了描述,不过毕竟不是视图篇幅说的不全面,本篇首先为大家讲 ...

  6. 为ASP.NET MVC视图输出json

    做个小小练习,为asp.net mvc视图输出json字符串: 创建JsonResult操作: 创建此视图: 浏览结果:

  7. Asp.net MVC 视图引擎

    Asp.net MVC视图引擎有两种: 1.ASPX View Engine 这个做过WebForm的人都清楚 设计目标:一个用于呈现Web Form页面的输出的视图引擎. 2.Razor View ...

  8. 【ASP.NET MVC系列】浅谈ASP.NET MVC 视图

    ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...

  9. 【ASP.NET MVC系列】浅谈ASP.NET MVC 视图与控制器传递数据

    ASP.NET MVC系列文章 [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作 ...

  10. (转)Asp.Net Mvc视图引擎Razor介绍

    Asp.Net Mvc视图引擎Razor介绍 1.Razor介绍 程序园原创,转载请注明:http://www.kwstu.com/ArticleView/dabaomvc_2014082408205 ...

随机推荐

  1. System and method for dynamically adjusting to CPU performance changes

    FIELD OF THE INVENTION The present invention is related to computing systems, and more particularly ...

  2. MAC终端:如何调整字体大小和终端样式

    1.字体 进入终端后comman键和+键的组合可以增大显示 2.样式  

  3. java常用api2

    calendar calendar=calendar.getInstance(); StringBuilder和C#的用法一样 hashSet无序的,不可重复 LInkedHashSet有序的,不可重 ...

  4. 执行hdfs namenode -importCheckpoint时出现No image directories available!

    在https://issues.apache.org/jira/browse/HDFS-4705找到了答案需要在hdfs-site.xml中配置 <!--指定fsimage存储目录--> ...

  5. Java--数组和链表的区别以及使用场景

    数组:是将元素在内存中连续存储的:它的优点:因为数据是连续存储的,内存地址连续,所以在查找数据的时候效率比较高:它的缺点:在存储之前,我们需要申请一块连续的内存空间,并且在编译的时候就必须确定好它的空 ...

  6. ssh探头安全

    1.  ssh 合约                 SSH 为建立在应用层和传输层基础上的安全协议. SSH 是眼下较可靠,专为远程登录会话和其它网络服务提供安全性的协议.利用 SSH 协议能够有效 ...

  7. 【转】eth0 no such device(reload)

    [转自:http://blog.chinaunix.net/uid-25554408-id-292638.html 北国的春的ChinaUnix博客] 今天我在vmware里安装了虚拟机,安装虚拟机就 ...

  8. 4.生产者 消费者模式的RabbitMQ

    1.生产者: using RabbitMQ.Client; using System; using System.Text; namespace Publisher1 { class Program ...

  9. DDD实战12 值对象不创建表,而是直接作为实体中的字段

    这里的值对象如下风格: namespace Order.Domain.PocoModels { //订单地址 //虽然是值对象 但是不继承ValueObject //因为继承ValueObject会有 ...

  10. PV操作例题解析

    虽然自己看了书,老师讲了课,以为对PV操作理解了,可是遇到题的时候还是不会思考.以下这道题,花了非常长时间才弄明确,如今把思路写出来,大家共同探讨下. 大家都来思考: 信号量S1.S2.S3.S4分别 ...