使用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. Python根据主播直播时间段判定订单销售额归属

    写在前面:最近在群里看到一个这样的直播电商的场景觉得还是挺有趣的,于是就想用Python来实现. 需求描述:根据主播直播时间段结合销售订单的付款时间判断所属销售的归属 生成主播在线直播时间段数据 fr ...

  2. RestTemplate进行https请求时适配信任证书

    转载请注明出处: 1.http协议请求 使用RestTemplate进行http协议的请求时,不需要考虑证书验证相关问题,以下为使用RestTemplate直接使用的代码示例: import org. ...

  3. 在 RedHat、 CentOS、 Fedora 和 Debian、 Ubuntu、 Linux Mint、 Xubuntu 等这些系统中安装 Teamviewer

    这篇指南介绍了怎么样在 RedHat. CentOS. Fedora 和 Debian. Ubuntu. Linux Mint. Xubuntu 等这些系统中安装 Teamviewer 9.Teamv ...

  4. linux ssh连接

    前言 整理以前的随笔. 正文 首先更新源 sudo apt-get update 安装ssh服务 sudo apt-get install openssh-server 检测是否已启动 ps -e | ...

  5. leetcode:3. 无重复字符的最长子串

    3. 无重复字符的最长子串 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3  解释: 因为无重复字符的最长子 ...

  6. 使用 Docker 部署 instantbox 轻量级 Linux 系统

    1)instantbox 介绍 GitHub:https://github.com/instantbox/instantbox instantbox 是一款非常实用的项目,它能够让你在几秒内启动一个主 ...

  7. 基于Material Design风格开源、易用、强大的WPF UI控件库

    前言 今天大姚给大家分享一款基于Material Design风格开源.免费(MIT License).易于使用.强大的WPF UI控件库:MaterialDesignInXamlToolkit. 项 ...

  8. 3.CSS三种基本选择器

    三种选择器的优先级: id选择器 > class选择器 > 标签选择器 1.标签选择器:会选择到页面上所有的该类标签的元素 格式: 标签{} 1 <!DOCTYPE html> ...

  9. 欢迎 Llama 3:Meta 的新一代开源大语言模型

    介绍 Meta 公司的 Llama 3 是开放获取的 Llama 系列的最新版本,现已在 Hugging Face 平台发布.看到 Meta 持续致力于开放 AI 领域的发展令人振奋,我们也非常高兴地 ...

  10. Quick BI产品核心功能大图(四):Quick引擎加速--十亿数据亚秒级分析

    ​简介: 随着数字化进程的深入,数据应用的价值被越来越多的企业所重视.基于数据进行决策分析是应用价值体现的重要场景,不同行业和体量的公司广泛依赖BI产品制作报表.仪表板和数据门户,以此进行决策分析. ...