zoukankan      html  css  js  c++  java
  • MVC的默认约定

    MVC项目中有很多默认约定,一种是对项目目录分配的约定,比如默认情况下需要将Javascript文件放置在Script文件夹中,但这并不妨碍你将这个文件夹重新命名,也可以将整个文件夹放置到任何想要放置的地方,并不会影响程序的正常运行。另外一种就是要遵循所谓的惯例优先原则(principle of convention over configuration),对于很多项目来说,严格遵从已有惯例和使用合理的缺省选项大概是这些项目需要的,这意味着,如果建立了一套命名规范,诸如此类,就可以显著地减少系统所需配置项目的数量, 来建立处理器映射、视图解析器、ModelAndView实例,等等。 这为快速原型开发提供了很大方便。同时提供了一定程度的(通常是好事情)代码库的一致性,进而可以从中选择并发展为成型产品。

    ----有关控制器类的规范约定

    • 控制器类名必须以Controller结尾;例如ProductController
    • 项目中引用控制器时,例如使用HTML helper方法时,只需要指定前半部分的名称;例如Product;
    • 可以通过实现IControllerFactory接口创建定制的约定,虽然没必要这样做;

    ----有关视图的约定

    • 视图或分部视图要放置在/Views/Controllername文件夹中,比如一个与ProductController类相关的视图应放置在/Views/Product文件夹中;
    • MVC框架希望一个action方法的默认视图应该以方法名进行命名,比如一个List方法的视图应该命名为List.cshtml。由于List方法位于ProductController类中,则默认的视图应该是/Views/Product/List.cshtml.
    • 如果在action方法中直接调用return View(); 则显示默认视图;如果显示其他指定视图,则需要在action方法中调用return View("MyOtherView"); 
    • MVC框架搜索视图路径的默认顺序是:先在/Views/Controlloername/文件夹下查找,如果没有找到,就在/Views/Shared/文件夹下查找,仍未找到,则报错;

    ----有关布局的约定

    • 布局文件需要在文件加“_”前缀,并且放置在/Views/Shared文件夹下,默认情况下除了空项目模板都使用_Layout.cshtml作为布局模板,并且在/Views/_ViewStart.cshtml下进行调用。
    • 如果想用指定的布局替代,则修改_ViewStart.cshtml:
    @{
                Layout="~/Views/Shared/MyLayout.cshtml";
    }
    • 或者想禁用布局,则修改_ViewStart.cshtml:
    @
    {
           Layout=null;     
    }
  • 相关阅读:
    NHibernate之映射文件配置说明(转载3)
    NHibernate之映射文件配置说明(转载2)
    NHibernate之映射文件配置说明(转载1)
    NHibernate+NUnit (VS2012+SQL Server2008) (转)
    ASP.NET MVC全局观
    使用Razor来进行页面布局
    视图引擎输出字符串
    @Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction
    Html.Action和Html.RederAction来创建子视图
    从客户端检测到有潜在危险的Request.Form值
  • 原文地址:https://www.cnblogs.com/qouoww/p/3174875.html
Copyright © 2011-2022 走看看