zoukankan      html  css  js  c++  java
  • 【MVC】 文件及URL 的整理

    我们平时在做Asp.Net MVC(以下就简称mvc)项目的时候,页面文件结构都用了“/Views/Controllers/page.aspx”,而把一些PartialView呢放在/Views/Shared 目录下面,但如果PartialView越来越多了呢。。。。如果其中还混杂着几个MasterPage,几个Error.aspx。。。。这个目录看起来就。。。。。

     

    image_thumb

     

    O my lady gaga!忒难看了,如果多了以后那更难看了。。。。。

    为了看起来好看点,我准备分目录存放,我的目标是:

     

    image_thumb_2

     

    打开HomeIndex.asp文件,放一个Login的PartialView吧。先运行一下看看吧。。。一定肯定以及确定不能运行,因为我们的mvc根本没有找到所需的文件,错误信息“The partial view 'xxx' was not found”。

     

    我们知道mvc在查找文件的时候,会到2个目录下查找,一个是Controller目录,一个就是Shared目录,寻找Action.aspx或者Action.ascx,我们看下源代码(我下载的是asp.net mvc rc2),通过查看源代码,得知查找View或者PartialView都是通过IViewEngine.FindView和IViewEngine.FindPartialView来查找的。通过静态类:ViewEngines中的Engines,递归寻找,如果找到就显示,如果没有找到就报异常了。

    隐藏行号 复制代码 这是一段程序代码。
    1. ViewEngines.Engines.Add(new WebFormViewEngine
      
    2. {
      
    3.     ViewLocationFormats = new string[]
      
    4.  {
      
    5.     "~/Views/Shared/Error/{0}.aspx"
      
    6.  },
      
    7.     PartialViewLocationFormats = new string[]
      
    8.   {
      
    9.      "~/Views/Shared/Partial/{0}.ascx"
      
    10.   },
      
    11.     MasterLocationFormats = new string[]
      
    12. {
      
    13.  "~/Views/Shared/Master/{0}.Master"
      
    14. },
      
    15.     AreaMasterLocationFormats = new string[]
      
    16.  {
      
    17.     "~/Areas/{1}/Share/Master/{0}.Master"              
      
    18.  }
      
    19. 
      
    20. });
      

     

     

    download2_6_3

  • 相关阅读:
    OpenStack 发行版本
    刷新linux硬盘存储接口
    LVM实践
    LVM man帮助
    ansible --help 文档
    nmcli connection modify eth1 ipv4.addr "192.168.31.23" ipv4.method manual
    自己动手使用, MetaWeblog 发布博客(cnblogs)
    测试图片上传 on Markdown editor
    大批量更新数据mysql批量更新的四种方法
    PHP print_r 转换/还原为数组
  • 原文地址:https://www.cnblogs.com/jx270/p/4212161.html
Copyright © 2011-2022 走看看