• 七色花基本权限系统(2) MVC项目搭建及初步调整


    新建ASP.NET MVC项目,解决方案名称Seven,MVC项目名称S.Framework.WebClient。如下图:

    1-创建空白MVC项目

    创建MVC项时会让你选择身份验证方式,选择无吧,咱要空白干净的MVC项目。是否勾选单元测试随自己喜欢就好。

    现在把MVC项目中我们不需要用到的部分移除掉,比如自带的bootstrap、jquery、jquery Validation等,可通过nuget工具来移除。如下图:

    2-打开nuget

    (如果你没装nuget,请google)

    请依次移除bootstrap、Microsoft jQuery Unobtrusive Validation(移除时会提示是否同时移除 jQuery Validation 和 jQuery,选择是,同时移除)、Modernizr、Respond JS。

    移除后请检查项目根目录下的 packages.config 文件,引用的包应该与下图一致(版本无需一致):

    3-干净的package截图

    移除了多余的包,还需要修改项目中已经创建的一些文件(这些文件中使用了那些被移除的包)。

    布局页,请修改成这样:

    4-干净的布局页

    这里先不考虑bundles的功能,可以最后再集成,此处先不岔开。

    站点主样式文件(/Content/site.css),移除无关样式,只设置body样式即可,css如下:

      1 body {
      2     font-size: 12px;
      3     font-family: "Trebuchet MS" Verdana, Arial, Helvetica, sans-serif;
      4     margin: 0;
      5     padding: 0;
      6     width: 100%;
      7     height: 100%;
      8 }
    Site.css

    记得在布局页中引用site.css。

    HomeController中只需保留Index这个Action,相应的视图也只需要保留Index.cshtml,同时清空Index.cshtml的内容,随便写一句“Hello World!”。

    Scripts下的_references.js请不要删掉,用来js智能提示的。

    现在,这个项目的结构应该是这样的:

    6-mvc2

    运行一下吧,看看“Hello World!”。

    App_Start下有3个配置类,这里稍微介绍一下,不展开,有兴趣的朋友请翻资料。

    BundleConfig,资源打包配置文件。

    里面默认包含了“创建mvc项目时自动包含的bootstrap、jquery、jquery.validate、modernizr、respond”等js和css的引用。
    这些插件都已经移除,因此都删掉吧。

    FilterConfig,过滤器配置文件。

    可以去了解一下mvc的4大过滤器,这里不赘述。
    默认增加了异常处理过滤器,不用管。

    RouteConfig,路由配置文件

    这个非常强大和复杂,但默认的设置基本满足我们的需求,因此不必展开。

    这3个配置文件,被引用在 Global.asax 中。

    这么重要的配置类,拎出来更方便维护,结构也更清晰。

    新建一个类库,名称S.Framework.Web,在其根目录下建立文件夹Config。

    然后把MVC项目下的App_Start下的3个配置类移动过去,别忘了调整配置类的命名空间为S.Framework.Web.Config。

    该类库需要引用System.Web.Mvc、System.Web.Optimization、System.Web这3个dll,需要注意的是,这些dll的引用,都应该和MVC项目中引用的版本一致。可以右键MVC项目中的那些dll查看属性,来确认所引用的dll的物理路径。

    System.Web.Mvc、System.Web.Optimization都是在packages中的,因此在S.Framework.Web中添加这2个引用时请浏览解决方案根目录下的packages文件夹找到相应的dll,这样才能保证版本一致。

    System.Web直接搜索程序集进行引用就好。

    现在单独生成一下S.Framework.Web试试,编译通过。

    MVC项目下那3个配置类文件可以删掉了。现在让MVC项目引用S.Framework.Web项目,然后调整Global.asax中的代码保证使用新的配置类即可。

    此时解决方案应该是编译无错的。

    作为强迫症啊,我表示Global里的代码也应该藏在S.Framework.Web里。

    在S.Framework.Web根目录下创建一个类,名称SHttpApplication,照抄Global那段代码,如下图:

    7-httpapplication剥离出来

    最后让MVC项目的Global继承这个SHttpApplication类,如下图:

    8-golobal2

    到这一步,MVC项目的搭建和初步的调整就完成了。其目录结构是这样:

    10-2

    运行试试,“Hello World!”。

    截止本章节,项目源码下载:点击下载(存在百度云盘中)

  • 相关阅读:
    图数据库的选择与对比(Neo4j)
    pip install ahocorasick报错以及Requirement already satisfied问题
    从知识图谱到认知图谱: 历史、发展与展望
    kafka(一)—— kafka安装简单使用
    python管理docker
    Javaweb前后端分离项目docker部署
    django + uwsgi + nginx部署(前后端不分离)
    坑(八)—— LayUI框架中append新的元素的问题
    docker(三)—— 避免一直输入sudo
    坑(七)—— 表单提交方式
  • 原文地址:https://www.cnblogs.com/matrixkey/p/5554182.html
Copyright © 2020-2023  润新知