最近加班加点完成一个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. Apache Ignite之集群应用测试

    集群发现机制 在Ignite中的集群号称是无中心的,而且支持命令行启动和嵌入应用启动,所以按理说很简单.而且集群有自动发现机制感觉对于懒人开发来说太好了,抱着试一试的心态测试一下吧. 在Apache ...

  2. java中的锁

    java中有哪些锁 这个问题在我看了一遍<java并发编程>后尽然无法回答,说明自己对于锁的概念了解的不够.于是再次翻看了一下书里的内容,突然有点打开脑门的感觉.看来确实是要学习的最好方式 ...

  3. 使用Visual Studio 2015 开发ASP.NET MVC 5 项目部署到Mono/Jexus

    最新的Mono 4.4已经支持运行asp.net mvc5项目,有的同学听了这句话就兴高采烈的拿起Visual Studio 2015创建了一个mvc 5的项目,然后部署到Mono上,浏览下发现一堆错 ...

  4. 0-1背包问题蛮力法求解(java版本)

    sloves: package BackPack; public class Solves {  public int[] DecimaltoBinary(int n,int m)  {   int ...

  5. AngularJS过滤器filter-保留小数,小数点-$filter

    AngularJS      保留小数 默认是保留3位 固定的套路是 {{deom | number:4}} 意思就是保留小数点 的后四位 在渲染页面的时候 加入这儿个代码 用来精确浮点数,指定小数点 ...

  6. 移动先行之谁主沉浮? 带着你的Net飞奔吧!

    移动系源码:https://github.com/dunitian/Windows10 移动系文档:https://github.com/dunitian/LoTDotNet/tree/master/ ...

  7. MFC中如何画带实心箭头的直线

    工作中遇到话流程图的项目,需要画带箭头的直线,经过摸索,解决:思路如下: (1) 两个点(p1,p2)确定一个直线,以直线的一个端点(假设p2)为原点,设定一个角度 (2)以P2为原点得到向量P2P1 ...

  8. PHP设计模式(一)简单工厂模式 (Simple Factory For PHP)

    最近天气变化无常,身为程序猿的寡人!~终究难耐天气的挑战,病倒了,果然,程序猿还需多保养自己的身体,有句话这么说:一生只有两件事能报复你:不够努力的辜负和过度消耗身体的后患.话不多说,开始吧. 一.什 ...

  9. ActionContext.getContext().getSession()

    ActionContext.getContext().getSession() 获取的是session,然后用put存入相应的值,只要在session有效状态下,这个值一直可用 ActionConte ...

  10. Spark的StandAlone模式原理和安装、Spark-on-YARN的理解

    Spark是一个内存迭代式运算框架,通过RDD来描述数据从哪里来,数据用那个算子计算,计算完的数据保存到哪里,RDD之间的依赖关系.他只是一个运算框架,和storm一样只做运算,不做存储. Spark ...