最近加班加点完成一个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. python核心编程第二版练习题答案

    2-5 #写一个while循环,输出整型为0~10 a=0while a<11: print a a+=1 #写一个for循环重复以上操作 for i in range(11): print i ...

  2. iOS逆向工程之Reveal工具的安装、配置与使用

    今天博客内容比较简单,不过还是蛮重要的.经常有小伙伴在QQ上私下问我,说博客中是如何使用Reveal查看AppStore中下载应用的UI层级的,那么就在今天这篇博客中作为一个主题来统一的介绍一下吧.虽 ...

  3. Android 剪贴板详解

    版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Clipboard 如本文有助于你理解 Android 剪贴板,不妨给我一个 Star.对于码农而言, ...

  4. potrace源码分析一

    1 简介 potrace是由Dalhousie University的Peter Selinger开发一款位图轮廓矢量化软件,该软件源码是可以公开下载的,详细见项目主页:http://potrace. ...

  5. zookeeper源码分析之三客户端发送请求流程

    znode 可以被监控,包括这个目录节点中存储的数据的修改,子节点目录的变化等,一旦变化可以通知设置监控的客户端,这个功能是zookeeper对于应用最重要的特性,通过这个特性可以实现的功能包括配置的 ...

  6. 【JavaScript】javascript中伪协议(javascript:)使用探讨

    javascript:这个特殊的协议类型声明了URL的主体是任意的javascript代码,它由javascript的解释器运行. 比如下面这个死链接: <a href="javasc ...

  7. swift开发新项目总结

    新项目用swift3.0开发,现在基本一个月,来总结一下遇到的问题及解决方案   1,在确定新项目用swift后,第一个考虑的问题是用纯swift呢?还是用swift跟OC混编      考虑到新项目 ...

  8. docker4dotnet #1 – 前世今生 & 世界你好

    作为一名.NET Developer,这几年看着docker的流行实在是有些眼馋.可惜的是,Docker是基于Linux环境的,眼瞧着那些 java, python, node.js, go 甚至连p ...

  9. Windows下MySQL无法启动

    问题描述: 从网上下了5.7 的MySQL,在bin目录下执行 start mysqld ,弹出个cmd窗口一闪就没了,也看不清是什么报错.mysqld --install安装了服务,也启动不了.   ...

  10. C#迪杰斯特拉算法

    C#迪杰斯特拉算法 网上有许多版本的,自己还是写一个理解点 Dijkstra.cs public class Dijkstra { private List<Node> _nodes; p ...