ASP.NET MVC开发:Web项目开发必备知识点
最近加班加点完成一个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项目开发必备知识点的更多相关文章
- SpringMVC内容略多 有用 熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。
熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器.过滤器等Web组件以及MVC架构 ...
- (读书笔记)Asp.net Mvc 与WebForm 混合开发
根据项目实际需求,有时候会想在项目中实现Asp.net Mvc与Webform 混合开发,比如前台框架用MVC,后台框架用WebForm.其实要是实现也很简单,如下: (1)在MVC 中使用Webfo ...
- ASP.NET MVC (Razor)开发
ASP.NET MVC (Razor)开发 过去我们使用过一些周报工具来完成项目组或部门的周报填写与考核工作,但多少有些不理想,要么功能太过简单,要么功能特别繁杂,不接地气,使用不便. 后来我们就考虑 ...
- Asp.net Mvc 与WebForm 混合开发
根据项目实际需求,有时候会想在项目中实现Asp.net Mvc与Webform 混合开发,比如前台框架用MVC,后台框架用WebForm.其实要是实现也很简单,如下: (1)在MVC 中使用Web ...
- [转]Asp.net Mvc 与WebForm 混合开发
本文转自:https://www.cnblogs.com/dooom/archive/2010/10/17/1853820.html 根据项目实际需求,有时候会想在项目中实现Asp.net Mvc与W ...
- ASP.NET MVC 微信公共平台开发之获取用户消息并处理
ASP.NET MVC 微信公共平台开发 获取用户消息并处理 获取用户消息 用户发送的消息是在微信服务器发送的一个HTTP POST请求中包含的,获取用户发送的消息要从POST请求的数据流中获取 微信 ...
- ASP.NET MVC 微信公共平台开发之验证消息的真实性
ASP.NET MVC 微信公共平台开发 验证消息的真实性 在MVC Controller所在项目中添加过滤器,在过滤器中重写 public override void OnActionExecuti ...
- 基于Spring MVC的Web应用开发(三) - Resources
基于Spring MVC的Web应用开发(3) - Resources 上一篇介绍了在基于Spring MVC的Web项目中加入日志,本文介绍Spring MVC如何处理资源文件. 注意到本项目的we ...
- SSM框架开发web项目系列(二) MyBatis真正的力量
前言 上篇SSM框架环境搭建篇,演示了我们进行web开发必不可少的一些配置和准备工作,如果这方面还有疑问的地方,可以先参考上一篇“SSM框架开发web项目系列(一) 环境搭建篇”.本文主要介绍MyBa ...
- spring boot + Thymeleaf开发web项目
"Spring boot非常适合Web应用程序开发.您可以轻松创建自包含的HTTP应用.web服务器采用嵌入式Tomcat,或者Jetty等.大多数情况下Web应用程序将使用 spring- ...
随机推荐
- 一起学 Java(三) 集合框架、数据结构、泛型
一.Java 集合框架 集合框架是一个用来代表和操纵集合的统一架构.所有的集合框架都包含如下内容: 接口:是代表集合的抽象数据类型.接口允许集合独立操纵其代表的细节.在面向对象的语言,接口通常形成一个 ...
- 有朋友问了数据库ID不连续,怎么获取上一篇和下一篇的文章?(不是所有情况都适用)
呃 (⊙o⊙)…,逆天好久没写SQL了,EF用的时间长了,SQL都不怎么熟悉了......[SQL水平比较菜,大牛勿喷] 方法很多种,说个最常见的处理 因为id是自增长的,所以一般情况下下一篇文章的I ...
- JavaScript 自定义对象
在Js中,除了Array.Date.Number等内置对象外,开发者可以通过Js代码创建自己的对象. 目录 1. 对象特性:描述对象的特性 2. 创建对象方式:对象直接量.new 构造函数.Objec ...
- WebApi接口 - 响应输出xml和json
格式化数据这东西,主要看需要的运用场景,今天和大家分享的是webapi格式化数据,这里面的例子主要是输出json和xml的格式数据,测试用例很接近实际常用情况:希望大家喜欢,也希望各位多多扫码支持和点 ...
- npm package.json属性详解
概述 本文档是自己看官方文档的理解+翻译,内容是package.json配置里边的属性含义.package.json必须是一个严格的json文件,而不仅仅是js里边的一个对象.其中很多属性可以通过np ...
- Kooboo CMS技术文档之一:Kooboo CMS技术背景
语言平台 依赖注入方案 存储模型 1. 语言平台 Kooboo CMS基于.NET Framework 4.x,.NET Framework 4.x的一些技术特性成为站点开发人员使用Kooboo CM ...
- Git分布式版本控制教程
Git分布式版本控制Git 安装配置Linux&Unix平台 Debian/Ubuntu $ apt-get install git Fedora $ ) $ dnf and later) G ...
- css样式之background详解
background用法详解: 1.background-color 属性设置元素的背景颜色 可能的值 color_name 规定颜色值为颜色名称的背景颜色(比如 red) he ...
- Android中访问sdcard路径的几种方式
以前的Android(4.1之前的版本)中,SDcard路径通过"/sdcard"或者"/mnt/sdcard"来表示,而在JellyBean(安卓4.1)系统 ...
- Mysql - 增删改
因为项目原因, mysql用了两年了, 但是一直都未曾去总结过. 最近也是领导让总结项目, 才想起把mysql的使用小结一下. 一. Create 1. 单条插入, sql格式: insert int ...