最近加班加点完成一个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. Java多线程基础——对象及变量并发访问

    在开发多线程程序时,如果每个多线程处理的事情都不一样,每个线程都互不相关,这样开发的过程就非常轻松.但是很多时候,多线程程序是需要同时访问同一个对象,或者变量的.这样,一个对象同时被多个线程访问,会出 ...

  2. SignalR SelfHost实时消息,集成到web中,实现服务器消息推送

    先前用过两次SignalR,但是中途有段时间没弄了,今天重新弄,发现已经忘得差不多了,做个笔记! 首先创建一个控制台项目Nuget添加引用联机搜索:Microsoft.AspNet.SignalR.S ...

  3. 修改eclipse皮肤

    习惯了vim黑色背景的程序猿们想必用eclipse时会倍感的不适应吧,不过没关系,因为eclipse的皮肤是可以自己定制的! 下面是我电脑上的eclipse界面,看到这个是不是找回了vim的感觉呢? ...

  4. javascript 判断参数类型大全

    js 判断类型的在开发中是很常用的,因为js 是弱类型的语言,var 可以接受任何形式的类型,但是在真正的开发中,我们需要根据不同类型做不同的处理,所以这个是必须的精通. 首先需要知道 typeof这 ...

  5. springmvc的拦截器

    什么是拦截器                                                         java里的拦截器是动态拦截action调用的对象.它提供了一种机制可以使 ...

  6. JSP 标准标签库(JSTL)

    JSP 标准标签库(JSTL) JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签, ...

  7. 28个你必须知道的HTML5的新特性,技巧以及技术

    崭新新的页面布局 传统的: HTML5: 1. 新的Doctype 尽管使用<!DOCTYPE html>,即使浏览器不懂这句话也会按照标准模式去渲染 2. Figure元素 用<f ...

  8. ESLint的使用笔记

    原文地址:https://csspod.com/getting-started-with-eslint/?utm_source=tuicool&utm_medium=referral 在团队协 ...

  9. 【干货分享】流程DEMO-离职流程

    流程名: 离职申请   流程相关文件: 流程包.xml WebService业务服务.xml WebService.asmx WebService.cs   流程说明: 流程中集成了webservic ...

  10. H3 BPM让天下没有难用的流程之技术特性

    一.集成性  H3 BPM可以与其它系统进行多个层面的集成,满足企业的针对不同系统的集成需求. 图:多种集成维度 Ø  用户集成 可与企业现有系统进行组织架构同步或调用,也可以直接与AD 进行集成. ...