使用mvc5的体会,是 业务代码都可以独立分层,比如搭配多层架构,通过controller控制器传递需要渲染的列表,按钮、接受前端返回的实体模型等。总之我觉得要在前端渲染的数据可以写在controller里,通过viewbag 或者viewdata 或者返回视图的对象里传个modal就可以了。
 
mvc5前端视图我使用的是cshtml的视图,用razor语法,可以省去许多传统的html标签,但我觉得还是少用那个语法,因为如果想要移植这个视图到其他不是c#的项目,估计就要改回来(不过可以尝试运行这个项目后,去浏览器查看渲染后的网页源码的方式移植前端代码,但还是麻烦了)。
 
mvc5的路由,我用的不深入,用的是默认的路由,这次学习码代码过程中也没机会去了解。相对于asp.net的地址,这个mvc5的更加的抽象了,从asp.net的访问地址我觉得可以看出所在文件的物理目录,但mvc5的路由,是靠域/控制器名称/action名称/参数匹配的,是和物理路径没得丝毫关系得。在mvc5中遵循默认的约定,action的名称对应者视图的名称,还要把控制器和视图文件放到对应的文件夹下。
 
最后在使用mvc5中,在App_Start下有个BundleConfig的类,这里是在前端渲染css和js脚本的。但我想说的是,通过在这个文件下绑定需要引入的js和css文件,那么我在写代码的时候就能使用css和js方法的智能提示了,这个是很方便的。
 
最后表单提交到控制器的值,完全可以通过模型接受,不用去一个个的Request的获取了,可以说是非常的方便,如果是在java的springmvc中,还得安装专门的jar包之后,才能有这个功能。
说起java,java写代码会有连接池的专门代码,但C#用sqlServer我觉得据我了解似乎就不用去考虑连接池的问题了,在网上一搜 C# 连接池 关键字 也搜不到多少相关信息。
java对数据库操作的封装也没得C# 的ado.net简单,比如就C#的DataTable 这个对象,可以说用起来非常的方便,但java原生的就没有,在java写传统的sql过于繁琐,还是C#的ado.net来的方便些。感觉C#的ado.net非常的简洁好用对于java来讲。
 
对于EntityFramework6的使用,感觉就是从写sql中解放出来了,而且使用ef更能规范对数据库表的设计,就如导航属性,一对多 ,一对一,多对多的设计,设置了外键之后,要设置级联删除这些。增删改直接操作实体,不用去一个个的为字段写sql参数了,开发的效率肯定提高了很多。这个东西我用的也不深入,18年工作时,用过一段时间,复杂点的业务会写写linq,linq写不来的也可以写sql。感觉还是需要懂点sql的才好,不知道一开始不懂sql的来用这ef会觉得好用不,我感觉一般还是的学习sql的那些概念,比如连接,分组,筛选,排序。
 
bootstrap,我的体会是他的栅栏系统,这个非常的不错,直接不用自己去写样式布局了,还有其他的导航,下拉,按钮样式,模态框,tab切换,表格,表单 这些都封装的很好。但是对表格这个如果是要深入的操作,可能就没得layui的表格强大了,需要借助基于bootstrap的table插件来做,但想做的化,网上的资料很多,我就是直接百度就把我对表格的操作实现了。还有树结构也要借助第三方插件,使用起来,要和后端交互的化,后端的节点Id是要自己改插件代码来加的,网上也有资料的。还需要注意的是bootstrap的表格响应式的化,屏幕分辨率变小,表格就会很丑的,这个也可以通过加css样式控制解决。
 
权限的表结构设计,权限在前端的渲染,权限的控制我是了解了Rabc基于角色的权限设计,在阅读别人的代码,看看视频,才有了稍微清晰的了解。自己动手从无到有,从后端到前端动手慢慢搭建出来了,感觉不是很好的是权限在前端的渲染做的不好,前端的js代码也完全是在胡乱的乱堆砌,没得规范的。写前端,感觉 用jquery去操作那些html元素,代码会有很多重复的,感觉是自己写前端不会像写后端那样灵活的去封装类了,感觉在前端面对那些html元素,使用jquery起来,我都不知道如何用js代码去封装类了,想起来也觉得奇怪。面对前端,想到什么对html元素的操作,脑子里立马就是起一个方法,要不就是jquery的click函数,感觉js没了c#那样的规矩,我的js代码就凌乱不堪了。
 
还有就是感觉做这个,前端花的时间多得多,大部分时间都在调试前端的渲染问题,后端一股脑的增删改查。我感觉要想真的对后端技术,什么redis,rabbit,kafka等队列,还有什么分词技术,三方登录,单点登录,跨域,sql优化,分库分表等等高大上的技术,没得点真实的大点的项目是学不好的吧。
但技术都是为了产品服务的,不管用不用什么先进的技术,产品对于客户来讲,做到好用就行,所以作为一个编程者,还是要把产品做好。客户买单才是最好的。 
以上就是我的心得体会,后续,在总结总结代码层面的,以免遇到同样的问题,又去百度,总结下来,直接翻看自己的博客,效率就高了。


【C# mvc5】使用mvc5 +bootstrap+EF6搭建一个权限管理系统的心得体会的更多相关文章

  1. 使用React全家桶搭建一个后台管理系统

    引子 学生时代为了掌握某个知识点会不断地做习题,做总结,步入岗位之后何尝不是一样呢?做业务就如同做习题,如果‘课后’适当地进行总结,必然更快地提升自己的水平. 由于公司采用的react+node的技术 ...

  2. 主攻ASP.NET.4.5.1 MVC5.0之重生:空地搭建一个包含 Ninject框架 项目

    1.创建一个空白解决方案 2.添加一个类库 名称为XXX.Domain 3.添加一个ASP.MVC 名称为XXX.WebUI 4.选着空模版,勾选MVC核心引用 5.添加单元测试项目XXX.UntiT ...

  3. SSM搭建一个后台管理系统

    看一下效果图: 登陆界面: 图片上传页面: 我也把项目放到服务器上了,可以直接查看项目内容: http://codingcoge.cn/ssm-demo/login.html 1 我也放到github ...

  4. xadmin快速搭建一个后台管理系统

    环境:python3.5.2 ,django 2.0 ,xadmin2.0 Firsttly, 到 https://github.com/sshwsfc/xadmin/tree/django2上下载源 ...

  5. 如何使用Vue.js来搭建一个后台管理系统

    目录 使用的技术 基础但不好版 1.初始化项目 2.实现初始页内容自定义 3.使用路由 原始代码 自建页面 修改路由 4.测试路由跳转 补充 子路由版 嵌套router-view 定义子路由 修改菜单 ...

  6. Asp.Net MVC4+EF6 Code First 权限管理系统 源码下载

    这个权限管理系统是基于在@TZHSWEET 的权限管理系统之上做的修改.@TZHSWEET 那个是DB first. 这个是Code First.源码下载:http://download.csdn.n ...

  7. 利用Bootstrap快速搭建个人响应式主页(附演示+源码)

    1.前言 我们每个程序员都渴望搭建自己的技术博客平台与他人进行交流分享,但使用别人的博客模板没有创意.做网站后台的开发人员可能了解前端,可是自己写一个不错的前端还是很费事的.幸好我们有Bootstra ...

  8. JavaEE权限管理系统的搭建(一)--------项目中用到的知识点概括

    转战Java有一段时间了,.net 已不再开发的新的工程,基本上在维护,最近大半年时间在学习Java,今天抽空将学习的到的知识,应用到了一个权限管理系统的小项目中,特此记录一下.代码如有不对之处,希望 ...

  9. 从零开始,搭建博客系统MVC5+EF6搭建框架(1),EF Code frist、实现泛型数据仓储以及业务逻辑

    前言      从上篇30岁找份程序员的工作(伪程序员的独白),文章开始,我说过我要用我自学的技术,来搭建一个博客系统,也希望大家给点意见,另外我很感谢博客园的各位朋友们,对我那篇算是自我阶段总结文章 ...

  10. 从零开始,搭建博客系统MVC5+EF6搭建框架(5),博客详情页、留言、轮播图管理、右侧统计博文

    一.博客系统进度回顾 上一遍博客介绍到,系统已经实现到了发布以及前台布局展示,接下来就是实现一些,详情页,留言.轮播图管理.右侧博文统计信息实现. 二.博客系统详情页实现 2.1先来看看详情页展示的效 ...

随机推荐

  1. C语言 01 概述

    历史 C 语言是一门面向过程的计算机编程语言,于 1972 年诞生于贝尔实验室. C 语言是丹尼斯·里奇(Dennis Ritchie)以 B 语言为基础发展而来,因此他被称为 C 语言之父. C 语 ...

  2. 基于istio实现多集群流量治理

    本文分享自华为云社区<基于istio实现多集群流量治理>,作者: 可以交个朋友. 一 背景 对多云.混合云等异构基础设施的服务治理是Istio重点支持的场景之一.为了提高服务的可用性,避免 ...

  3. 重新点亮shell————变量[三]

    前言 简单介绍一下shell的变量. 正文 变量的定义 变量名的命名规则 字母.数字.下划线 不以数字开头 变量的赋值 在赋值的时候不能出现空格 a =123,在等号前面有一个空格,那么会报错. 这是 ...

  4. TaskPool 和 Worker 的对比

    作用: TaskPool(任务池)和 Worker 都为应用程序提供多线程运行环境,用于处理耗时的计算任务或其他密集型任务,避免阻塞主线程,提高系统性能.   实现特点对比: 内存模型:TaskPoo ...

  5. Mui 消息推送

    一.push通过H5+实现 简单实现方式:通过轮询服务器是否有新消息推送过来 mui.plusReady(function() {plus.navigator.closeSplashscreen(); ...

  6. DTCC 2020 | 阿里云程实:云原生时代的数据库管理

    简介: 随着云原生技术的不断发展,数据库也逐渐进入了云原生时代.在云原生时代,如何高效.安全且稳定地管理云上与云下的数据库成为摆在企业面前的一大难题.在第十一届中国数据库技术大会(DTCC2020)上 ...

  7. Spring官方RSocket Broker 0.3.0发布: 快速构建你的RSocket架构

    ​简介:Spring官方的RSocket Broker其实开发已经非常久了,我以为会伴随着Spring Cloud 2021.0发布的,但是没有发生.不过Spring RSocket Broker还是 ...

  8. IDC报告:阿里云领跑中国数据库市场年度份额首超传统厂商

    ​ 简介: IDC报告显示,2020年中国关系型数据库软件市场规模达到121.8亿元,同比增长36.5%.其中,以公有云模式部署的关系型数据库市场占比达到51.5%,首次超过传统线下部署模式市场规模, ...

  9. K8s集群中部署SpringCloud在线购物平台(二)

    三.harbor简介 harbor 是私有镜像仓库,用来存储和分发镜像的 docker 还有一个官方的镜像仓库 docker hub,免费用户只能简单的使用,创建一个私有镜像仓库,存储 镜像,付费用户 ...

  10. 理解FPGA内部的同步信号、异步信号和亚稳态

    FPGA(Field-Programmable Gate Array),即现场可编程门阵列.主要是利用内部的可编程逻辑实现设计者想要的功能.FPGA属于数字逻辑芯片,其中也有可能会集成一部分模拟电路的 ...