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- ...
随机推荐
- Apache Ignite之集群应用测试
集群发现机制 在Ignite中的集群号称是无中心的,而且支持命令行启动和嵌入应用启动,所以按理说很简单.而且集群有自动发现机制感觉对于懒人开发来说太好了,抱着试一试的心态测试一下吧. 在Apache ...
- java中的锁
java中有哪些锁 这个问题在我看了一遍<java并发编程>后尽然无法回答,说明自己对于锁的概念了解的不够.于是再次翻看了一下书里的内容,突然有点打开脑门的感觉.看来确实是要学习的最好方式 ...
- 使用Visual Studio 2015 开发ASP.NET MVC 5 项目部署到Mono/Jexus
最新的Mono 4.4已经支持运行asp.net mvc5项目,有的同学听了这句话就兴高采烈的拿起Visual Studio 2015创建了一个mvc 5的项目,然后部署到Mono上,浏览下发现一堆错 ...
- 0-1背包问题蛮力法求解(java版本)
sloves: package BackPack; public class Solves { public int[] DecimaltoBinary(int n,int m) { int ...
- AngularJS过滤器filter-保留小数,小数点-$filter
AngularJS 保留小数 默认是保留3位 固定的套路是 {{deom | number:4}} 意思就是保留小数点 的后四位 在渲染页面的时候 加入这儿个代码 用来精确浮点数,指定小数点 ...
- 移动先行之谁主沉浮? 带着你的Net飞奔吧!
移动系源码:https://github.com/dunitian/Windows10 移动系文档:https://github.com/dunitian/LoTDotNet/tree/master/ ...
- MFC中如何画带实心箭头的直线
工作中遇到话流程图的项目,需要画带箭头的直线,经过摸索,解决:思路如下: (1) 两个点(p1,p2)确定一个直线,以直线的一个端点(假设p2)为原点,设定一个角度 (2)以P2为原点得到向量P2P1 ...
- PHP设计模式(一)简单工厂模式 (Simple Factory For PHP)
最近天气变化无常,身为程序猿的寡人!~终究难耐天气的挑战,病倒了,果然,程序猿还需多保养自己的身体,有句话这么说:一生只有两件事能报复你:不够努力的辜负和过度消耗身体的后患.话不多说,开始吧. 一.什 ...
- ActionContext.getContext().getSession()
ActionContext.getContext().getSession() 获取的是session,然后用put存入相应的值,只要在session有效状态下,这个值一直可用 ActionConte ...
- Spark的StandAlone模式原理和安装、Spark-on-YARN的理解
Spark是一个内存迭代式运算框架,通过RDD来描述数据从哪里来,数据用那个算子计算,计算完的数据保存到哪里,RDD之间的依赖关系.他只是一个运算框架,和storm一样只做运算,不做存储. Spark ...