最近加班加点完成一个Web项目,使用Asp.net MVC开发。很久以前接触的Asp.net开发还是Aspx形式,什么Razor引擎,什么MVC还是这次开发才明白,可以算是新手。
对新手而言,那进行Asp.net MVC开发应该提前掌握多少程度的知识点才能畅通无阻进行开发?
下面是这次开发结束后做的一些知识点梳理总结,掌握如下知识点开发大型Asp.net MVC项目将不会有太大问题。

知识点总纲

  • 代码规范
  • 前段View
  • 后端

1. 代码规范


好的规范可以让团队更加有效率!
  • C#代码规范

    使用StyleCop检查代码

  • Sql规范

    使用工具整形

  • JS规范

    ESLint,JSHint,JSLint工具

  • HTML标签规范
  • Resource资源名称规范

    _W0001:警告,_E0001:错误,_C0001:确认 等

2. 前端View


基本上都会用到的知识。
  • Razor
  • Htmlhelper
  • Html+css+div
    如果以后走设计道路这方面得加强点。
  • image
    项目使用到的各类图片,需要美工设计与切割。
  • JS脚本
    • typescript
      微软开源工具,最后编译成Javascript文件执行。
    • javascript
      • Jquery
      • Microsoft.jQuery.Unobtrusive.Validation
        微软前端控件检测脚本,可以自己扩展。
  • ViewModel
    • Display
      字段在View中表示名称,一般绑定Resource文件内容。
    • DataType
      字段对应View中的控件类型。
    • Validation
      • Required
        入力必须检测
      • StringLength
        入力值长度检测
      • regex
        入力值正则表达式检测
      • range
        输入范围检测
      • 自定义Validaiton
        自定义各种检测规则,必须继承ValidationAttribute和IClientValidatable。
  • 分页
    一次性全部Select出来还是分页Select出来,这些都是需要衡量数据容量。
  • 检索
    对数据进行检索比较复杂,可以是简单的模糊匹配或者其他等等。

3. 后端


对前段的输入做处理。
  • Controller
    • FilterAttribute
      对Controller或者Action进行制约。
      • AuthorizeAttribute
        对Controller或者Action进行认证判断。
        • Identity
        • Form认证
      • ValidateAntiForgeryTokenAttribute
        防止跨站攻击。
      • ActionNameSelectorAttribute
        一个View多个Action。
      • LogAttribute
        写Controller或者Action的操作Log。
      • SessionTimeoutAttribute
        Session超时判断。
      • HandleErrorAttribute
        对Controller或者Action的异常进行处理。
    • Action
      • ViewResult
      • ActionResult
      • JsonResult
      • Session+TempData+ViewBag+ViewData
        多种数据保存方式,方便View与Action,Action与Action之间数据共享。
      • PRG
        对POST请求的Action处理结束时做Redirect到Get Action。防止用户F5更新再次提交POST请求导致数据更新或者插入。
      • Include
  • 数据服务
    • Service
      • 事务处理
        • 存储过程
    • Repository
      • ORM
        • Entity Framework

          DB First或者Code First开发模式。EF提供linq to sql和数据集到Model的转换,性能稍微有些不好。

        • Dapper

          对Connection扩展,只提供数据集到Model的转换,性能不错。

    • Entity
  • 异常
    • IIS异常
      • Application_Error
      • ErrorController
    • Action异常
      • Controller.OnException
        • HttpAntiForgeryException处理
          一般发生Token异常时将跳转到登陆界面。
      • Web.Config customErrors 配置
        设置Action发生异常时跳转到那个错误界面。
  • Log
    • Service的Log
    • Repository的Log
    • Sql执行的Log
    • Action的Log

      通过Filter可以全局设置。

难点


  • JS脚本
  • 自定义Validation
  • 异常处理
  • 数据处理
Web开发基本就这些知识点,希望能给新手带来帮助!

ASP.NET MVC开发:Web项目开发必备知识点的更多相关文章

  1. SpringMVC内容略多 有用 熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。

    熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器.过滤器等Web组件以及MVC架构 ...

  2. (读书笔记)Asp.net Mvc 与WebForm 混合开发

    根据项目实际需求,有时候会想在项目中实现Asp.net Mvc与Webform 混合开发,比如前台框架用MVC,后台框架用WebForm.其实要是实现也很简单,如下: (1)在MVC 中使用Webfo ...

  3. ASP.NET MVC (Razor)开发

    ASP.NET MVC (Razor)开发 过去我们使用过一些周报工具来完成项目组或部门的周报填写与考核工作,但多少有些不理想,要么功能太过简单,要么功能特别繁杂,不接地气,使用不便. 后来我们就考虑 ...

  4. Asp.net Mvc 与WebForm 混合开发

      根据项目实际需求,有时候会想在项目中实现Asp.net Mvc与Webform 混合开发,比如前台框架用MVC,后台框架用WebForm.其实要是实现也很简单,如下: (1)在MVC 中使用Web ...

  5. [转]Asp.net Mvc 与WebForm 混合开发

    本文转自:https://www.cnblogs.com/dooom/archive/2010/10/17/1853820.html 根据项目实际需求,有时候会想在项目中实现Asp.net Mvc与W ...

  6. ASP.NET MVC 微信公共平台开发之获取用户消息并处理

    ASP.NET MVC 微信公共平台开发 获取用户消息并处理 获取用户消息 用户发送的消息是在微信服务器发送的一个HTTP POST请求中包含的,获取用户发送的消息要从POST请求的数据流中获取 微信 ...

  7. ASP.NET MVC 微信公共平台开发之验证消息的真实性

    ASP.NET MVC 微信公共平台开发 验证消息的真实性 在MVC Controller所在项目中添加过滤器,在过滤器中重写 public override void OnActionExecuti ...

  8. 基于Spring MVC的Web应用开发(三) - Resources

    基于Spring MVC的Web应用开发(3) - Resources 上一篇介绍了在基于Spring MVC的Web项目中加入日志,本文介绍Spring MVC如何处理资源文件. 注意到本项目的we ...

  9. SSM框架开发web项目系列(二) MyBatis真正的力量

    前言 上篇SSM框架环境搭建篇,演示了我们进行web开发必不可少的一些配置和准备工作,如果这方面还有疑问的地方,可以先参考上一篇“SSM框架开发web项目系列(一) 环境搭建篇”.本文主要介绍MyBa ...

  10. spring boot + Thymeleaf开发web项目

    "Spring boot非常适合Web应用程序开发.您可以轻松创建自包含的HTTP应用.web服务器采用嵌入式Tomcat,或者Jetty等.大多数情况下Web应用程序将使用 spring- ...

随机推荐

  1. LINUX篇,设置MYSQL远程访问实用版

    每次设置root和远程访问都容易出现问题, 总结了个通用方法, 关键在于实用 step1: # mysql -u root mysql mysql> Grant all privileges o ...

  2. 重温Http协议--请求报文和响应报文

    http协议是位于应用层的协议,我们在日常浏览网页比如在导航网站请求百度首页的时候,会先通过http协议把请求做一个类似于编码的工作,发送给百度的服务器,然后在百度服务器响应请求时把相应的内容再通过h ...

  3. 【每日一linux命令4】常用参数:

     下面所列的是常见的参数(选项)义: --help,-h                              显示帮助信息 --version,-V                        ...

  4. java基础_集合List与Set接口

    List接口继承了Collection的方法  当然也有自己特有的方法向指定位置添加元素   add(索引,添加的元素); 移除指定索引的元素   remove(索引) 修改指定索引的元素   set ...

  5. SQL Server 常用内置函数(built-in)持续整理

    本文用于收集在运维中经常使用的系统内置函数,持续整理中 一,常用Metadata函数 1,查看数据库的ID和Name db_id(‘DB Name’),db_name('DB ID') 2,查看对象的 ...

  6. 从零开始编写自己的C#框架(27)——什么是开发框架

    前言 做为一个程序员,在开发的过程中会发现,有框架同无框架,做起事来是完全不同的概念,关系到开发的效率.程序的健壮.性能.团队协作.后续功能维护.扩展......等方方面面的事情.很多朋友在学习搭建自 ...

  7. 步入angularjs directive(指令)--准备工作熟悉hasOwnProperty

    在讲解directive之前,先做一下准备工作,为何要这样呢? 因为我们不是简单的说说directive怎么用,还要知道为什么这么用!(今天我们先磨磨刀!). 首先我们讲讲js 基础的知识--hasO ...

  8. 【Machine Learning】决策树案例:基于python的商品购买能力预测系统

    决策树在商品购买能力预测案例中的算法实现 作者:白宁超 2016年12月24日22:05:42 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本 ...

  9. PHP好用但又容易忽略的小知识

    1.PHP函数之判断函数是否存在 当我们创建了自定义函数,并且了解了可变函数的用法,为了确保程序调用的函数是存在的,经常会先使用function_exists判断一下函数是否存在.同样的method_ ...

  10. 面向对象相关知识点xmind