前段时间一直在用MVC4写个网站开发的demo,由于刚开始学所有的代码都写在一个项目中,越写越混乱,到后来有些代码自己都理不清了。1月26日晚上在群里跟@怒放 他们讨论这个问题,结论是即使只是一个小demo也应该分层来写。正好看到别人在用MVC5写东西,喜新厌旧的我马上下载了Visual Studio 2013,幸好MVC4到MVC5变化不大,这次准备用MVC5重新写个Demo。 每次看以前写的代码总有把它丢进回收站的冲动,其实没有完美的代码,能解决问题的代码就算是好代码吧,但是我还是决定重新写一个学习的Demo,希望这次能有提高,希望这次能写完吧!

目录:

ASP.NET MVC5 网站开发实践 - 概述

ASP.NET MVC5 网站开发实践(一) - 项目框架

ASP.NET MVC5 网站开发实践(一) - 框架(续) 模型、数据存储、业务逻辑

ASP.NET MVC5 网站开发实践(二) - 用户部分(1)用户注册

ASP.NET MVC5 网站开发实践(二) - 用户部分(2)用户登录、注销

ASP.NET MVC5 网站开发实践(二) - 用户部分(3)修改资料、修改密码

ASP.NET MVC5 网站开发实践(二) Member区域 - 文章管理架构

ASP.NET MVC5 网站开发实践(二) Member区域 - 添加文章

ASP.NET MVC5 网站开发实践(二) Member区域 - 全部文章列表

ASP.NET MVC5 网站开发实践(二) Member区域 - 修改及删除文章

ASP.NET MVC5 网站开发实践(二) Member区域 - 咨询管理的架构

ASP.NET MVC5 网站开发实践(二) Member区域–我的咨询列表及添加咨询

ASP.NET MVC5 网站开发实践(二) Member区域–管理列表、回复及删除

 

一、开发环境

1、开发环境: Visual Studio 2013

2、数据库:Sql Server 2012

3、代码管理:TFS(微软免费提供的)

说明:VS2013与vs2012感觉变化不大,我下载的是Pro版,数据库为vs2013自带的的sqlserver数据库。代码管理使用的是微软免费提供的tfs(现在叫Visual Studio Online了,免费版包括5个用户,无限制团队项目和私有代码存储库,对个人来说足够用了),我是经常外地,使用别的电脑,使用tfs的目的一是代码共享;二是做个备份。

二、使用的技术

前4项为创建项目的默认添加的,对Easyui这个是否使用我一直没想好,有时候觉得作为网站项目,非管理软件能不用还是尽可能不用吧。

说下mvc5吧,看介绍mvc5跟MVC4变化不大。

1、One ASP.NET。这个是asp.net的新特性,不应是MVC的,大致意思是可以把Web Forms,MVC,Web API等糅合在一个项目中,mvc中可以添加webforms的东西,可以添加api,其他项目也如此。

2、ASP.NET Identity。全新的会员身分系统(membership),一个是基于OWIN,另一个是使用Entity Framework Code First來管理,可以自己扩展用户字段等。

3、Bootstrap。做界面的好咚咚。可惜我不懂,正好这次学习一下。

三、项目结构

 

 

  •  Web项目:与用户进行交互的MVC项目。MVC中的试图和控制器部分,并适当定义视图与控制器间进行交互的试图模型(以ViewModel为后缀)。包含两个区域Member(用户区域),Manage(管理区域)。
  • Models项目:模型类,一般是与数据库或项目之间交互数据的的类(不包括试图模型)。
  • Common项目:放置一些公共方法,像加密,转换,生成验证码等。
  • IDAL项目:数据访问层接口,定义通过EF与数据库进行操作方法。
  • DAL项目:数据访问层,继承自IDAL并实现其定义的方法。
  • IBLL项目:业务逻辑层接口,定义通过调用数据访问层并进行处理为Web项目提供服务的方法。
  • BLL项目:业务逻辑层,继承自IBLL并实现其定义的方法。

ASP.NET MVC5 网站开发实践 - 概述的更多相关文章

  1. ASP.NET MVC5 网站开发实践(二) Member区域–管理列表、回复及删除

    本来想接着上次把这篇写完的,没想到后来工作的一些事落下了,放假了赶紧补上. 目录: ASP.NET MVC5 网站开发实践 - 概述 ASP.NET MVC5 网站开发实践(一) - 项目框架 ASP ...

  2. ASP.NET MVC5 网站开发实践(二) Member区域–我的咨询列表及添加咨询

    上次把咨询的架构搭好了,现在分两次来完成咨询:1.用户部分,2管理部分.这次实现用户部分,包含两个功能,查看我的咨询和进行咨询. 目录: ASP.NET MVC5 网站开发实践 - 概述 ASP.NE ...

  3. ASP.NET MVC5 网站开发实践(二) Member区域 - 咨询管理的架构

    咨询.留言.投诉等功能是网站应具备的基本功能,可以加强管理员与用户的交流,在上次完成文章部分后,这次开始做Member区域的咨询功能(留言.投诉都是咨询).咨询跟文章非常相似,而且内容更少.更简单. ...

  4. ASP.NET MVC5 网站开发实践(二) Member区域 - 修改及删除文章

    上次做了显示文章列表,再实现修改和删除文章这部分内容就结束了,这次内容比较简单,由于做过了添加文章,修改文章非常类似,就是多了一个TryUpdateModel部分更新模型数据.   目录: ASP.N ...

  5. ASP.NET MVC5 网站开发实践(二) Member区域 - 全部文章列表

    显示文章列表分两块,管理员可以显示全部文章列表,一般用户只显示自己的文章列表.文章列表的显示采用easyui-datagrid.后台需要与之对应的action返回json类型数据   目录 ASP.N ...

  6. ASP.NET MVC5 网站开发实践(二) Member区域 - 添加文章

    上次把架构做好了,这次做添加文章.添加文章涉及附件的上传管理及富文本编辑器的使用,早添加文章时一并实现. 要点: 富文本编辑器采用KindEditor.功能很强大,国人开发,LGPL开源,自己人的好东 ...

  7. ASP.NET MVC5 网站开发实践(二) Member区域 - 文章管理架构

    上次把member的用户部分完成,现在开始做文章管理部分.文章部分根据涉及显示现实文章列表,发布文章,修改文章,删除文章等功能.最终的实现目标是使用权限来控制用户是否能进行相应操作,管理员权限的会显示 ...

  8. ASP.NET MVC5 网站开发实践(二) Member区域 - 用户部分(3)修改资料、修改密码

    在上一篇博客中实现了用户的注销和登录,其实代码里落了点东西,就是用户登录要更新最后一次登录时间和登录IP,这次补上.今天做修改资料和修改密码,TryUpdateModel是新用到的东西. 目录: AS ...

  9. ASP.NET MVC5 网站开发实践(二) Member区域 - 用户部分(2)用户登录、注销

    上次实现了用户注册,这次来实现用户登录,用到IAuthenticationManager的SignOut.SignIn方法和基于声明的标识.最后修改用户注册代码实现注册成功后直接登录. 目录: ASP ...

随机推荐

  1. C语言_第五章__实践(密码转换)

    1.   要求 输入China  输出 Glmre #include <stdio.h> #include <stdlib.h> int main() { char c ; c ...

  2. servlet中文乱码问题

    通过response对象向页面输出内容时遇到的乱码问题可分为两种情况 1.字节流 字节流输出时可以通过设置响应头"Content-Type"的值为"text/html;c ...

  3. Hybrid App经验解读 一

    郑昀编纂 关键词:Hybrid,Zepto,Fastclick,Backbone,sui,SPA,pushState,跨域,CORS click 事件还是 tap 事件? Zepto 的 show/h ...

  4. 微信第三方平台定时接收component_verify_ticket

    背景: 获取第三方平台令牌(component_access_token),增加了component_verify_ticket参数.component_verify_ticket由公众平台每隔10分 ...

  5. py2exe

    1- 生成单一的exe文件: pyinstaller.py -F d:\open_txt\t.py 2- 添加必要的搜索路径: pyinstaller.py -F -p D:\python27\Lib ...

  6. txt文本变成html

    file_name = 'x.txt' f = open(file_name,'r') file_result = 'x.html' str_head = " LINE CI UTIL&qu ...

  7. SQL 存储过程 传入数组参数

    今天在做统计数据的时候,传入数组导致数据不显示.解决方式和大家分享一下: --参数@CompanyName='北京,天津,上海' DECLARE @PointerPrev int     DECLAR ...

  8. SQL存储过程基础(从基础开始学,加油!)

    Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用.当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句.这样就可以提高存储过程的性能. Ø ...

  9. Page

    <!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head> <met ...

  10. $.each ---- 跳出当前的循环

    有些朋友可能会以为在jquery跳出循环可以直接使用continue和break了,但是使用之后没有效果,因为在jquery中没有这两条命令.后来上网查了下,得到了结果:return false;—— ...