本文是本系列文章第一篇,主要通过建立一个默认ASP.NET MVC项目来引出与ASP.NET MVC相关的功能,由于ASP.NET MVC一个简单的模板就具备了数据库操作、身份验证、输入数据校验等功能,所以本系列文章将这些功能看作“魔法”来一一介绍。

  本文从以下几个方面来进行讲诉:

  ● 为什么写这一系列文章
  ● 用VS2017创建一个ASP.NET MVC应用
  ● 项目的运行与效果展示

为什么写这一系列文章?

  •   本系列文章基于ASP.NET MVC,在ASP.NET Core已经发布2.0版本,微服务漫天的今天为什么还写ASP.NET?。

  答:虽然现在已经有ASP.NET Core并且以微服务架构为主流,但是在生产上仍然存有很多用ASP.NET开发应用程序,所以对于维护来说ASP.NET也是很重要的,另外ASP.NET Core毕竟很多东西仍然是基于ASP.NET的思想的,理解ASP.NET再去学习Core会事半功倍,另外使用一项技术开发应用程序,并不是所有的业务都适合微服务架构,况且微服务不仅仅只是开发服务,它对开发和运维都有很大的要求,所以MVC这种单体程序仍旧有存在的意义(ASP.NET Core中也有MVC)。

  •   网络中已经有很多很好的ASP.NET MVC的教程,为什么还要写?

  答:首先网络上的东西个人觉得比较零碎,介绍MVC的都在介绍MVC、介绍EF的都介绍EF,但是一个应用程序的开发实际上包含了很多东西,不仅仅是技术还包括管理(注:虽然本系列文章也只讲技术...)。所以本系列文章以开发一个博客应用为例,介绍使用ASP.NET MVC开发的过程中遇到的内容如EF、Identity等组件以及ASP.NET MVC本身。

  更重要的是写文章能够更深入的了解自己对ASP.NET的了解,找到问题提升自己,望这些东西对大家有所帮助。

用Visual Studio 2017创建一个ASP.NET MVC应用程序。

  Visual Studio 2017是微软公司开发的非常强大的开发工具,它也是.Net开发人员的首选IDE。

  下载地址:https://www.visualstudio.com/zh-hans/

  本文将介绍如何使用VS2017快速开发一个ASP.NET MVC应用。

创建一个ASP.NET MVC 项目

  1. 打开VS2017,通过菜单创建一个项目:

  

   2. 在项目模板中找到Web下的ASP.NET Web Application(.NET Framework)选中并修改项目名称和创建路径等信息点击“OK”创建项目。(注:不使用ASP.NET Core)

  

  3. 将Web应用程序的类型选择为MVC,身份验证使用独立用户验证,点击“OK”完成项目创建。

  

  修改身份验证方式:

  

  4. 项目文件结构:

  

运行项目

  1. 选择“Debug”模式,点击运行按钮,启动程序:

  

    2. 首页效果:

  

  3. 用户注册与输入信息验证(首次注册需要等待一段时间,因为会创建数据库):

  

  4. 用户登录:

  

  登录成功:

  

  注:注册的用户是存储在数据库中的,所以重启应用数据也不会丢失。下面是通过VS2017的服务器窗口添加数据库文件连接并查看数据的方法:

  1. 添加一个SQL Server数据库文件连接。

  

  2. 指定文件路径:

  

  3. 查看数据:

  

ASP.NET 中的魔法?

  本系列文章以“ASP.NET没有魔法”为题是因为。从上面例子可以看出,简单的通过VS就可以创建出一个功能全面的MVC Web应用,它不仅包含了数据库操作和用户身份验证,还实现了用户输入验证(前端验证和后端验证)。微软的Getting Started文档中介绍了如何使用ASP.NET MVC来开发应用程序,在代码层还有更多的东西如路由的机制是什么?模型是怎么绑定验证的?静态内容是如何处理的?数据库是怎么访问到的?页面是如何渲染的?等等,都是无法通过一个例子来说明,本系列文章将这一系列看作“魔法”,通过解释这些“魔法”来理解ASP.NET程序是如何运行的。

参考:

  https://docs.microsoft.com/en-us/aspnet/mvc/overview/getting-started/introduction/getting-started

欢迎添加个人微信号:Like若所思。

欢迎关注我的公众号,不仅为你推荐最新的博文,还有更多惊喜和资源在等着你!一起学习共同进步!

ASP.NET开发实战——(一)开篇-用VS创建一个ASP.NET Web程序的更多相关文章

  1. ASP.NET没有魔法——开篇-用VS创建一个ASP.NET Web程序

    为什么写这一系列文章? 本系列文章基于ASP.NET MVC,在ASP.NET Core已经发布2.0版本,微服务漫天的今天为什么还写ASP.NET?. 答:虽然现在已经有ASP.NET Core并且 ...

  2. ASP.NET开发实战——(三)第一个ASP.NET应用《MyBlog》

    本文开始通过ASP.NET MVC创建一个博客应用,该应用是通过默认的MVC模板修改而来,所以创建的过程和代码都与默认模板一致,然后通过修改的方式将默认模板改为博客的主页,并添加博客列表.内容等页面. ...

  3. ASP.NET开发实战——(四)ASP.NET MVC是如何运行的?它的生命周期是什么?

    前面的文章我们使用ASP.NET MVC创建了个博客应用,那么它是如何工作的呢?我们都知道ASP.NET的程序需要部署到IIS上才能够通过浏览器来访问,那么IIS与ASP.NET MVC程序之间又是如 ...

  4. 在一个空ASP.NET Web项目上创建一个ASP.NET Web API 2.0应用

    由于ASP.NET Web API具有与ASP.NET MVC类似的编程方式,再加上目前市面上专门介绍ASP.NET Web API 的书籍少之又少(我们看到的相关内容往往是某本介绍ASP.NET M ...

  5. [ASP.NET MVC2 系列] ASP.Net MVC教程之《在15分钟内用ASP.Net MVC创建一个电影数据库应用程序》

    [ASP.NET MVC2 系列]      [ASP.NET MVC2 系列] ASP.Net MVC教程之<在15分钟内用ASP.Net MVC创建一个电影数据库应用程序>       ...

  6. Unity 2D游戏开发高速入门第1章创建一个简单的2D游戏

    Unity 2D游戏开发高速入门第1章创建一个简单的2D游戏 即使是如今,非常多初学游戏开发的同学.在谈到Unity的时候.依旧会觉得Unity仅仅能用于制作3D游戏的. 实际上.Unity在2013 ...

  7. 如何创建一个Asp .Net Web Api项目

    1.点击文件=>新建=>项目 2.创建一个Asp .NET Web项目 3.选择Empty,然后选中下面的MVC和Web Api,也可以直接选择Web Api选项,注意将身份验证设置为无身 ...

  8. ASP.NET开发实战——(九)ASP.NET MVC 与数据库之ORM

    之前的文章中介绍了如何在ASP.NET中通过ADO.NET操作SQL Server和My SQL数据库,数据库的操作是通过SQL语句的执行来完成的,在ASP.NET中还有一个简便的方式来使用数据库,那 ...

  9. ASP.NET开发实战——(八)ASP.NET MVC 与数据库之MySQL

    之前介绍了My Blog如何使用ADO.NET来访问SQL Server获取数据.本章将介绍如何使用My SQL来完成数据管理. 在使用My SQL之前需确保开发环境中安装了My SQL数据库和Con ...

随机推荐

  1. vuex 源码分析(五) action 详解

    action类似于mutation,不同的是Action提交的是mutation,而不是直接变更状态,而且action里可以包含任意异步操作,每个mutation的参数1是一个对象,可以包含如下六个属 ...

  2. 微博Feed流

    一.微博核心业务图 二.微博的架构设计图 三.简述 先来看看Feed流中的一些概念: Feed:Feed流中的每一条状态或者消息都是Feed,比如微博中的一条微博就是一个Feed. Feed流:持续更 ...

  3. WPF 鼠标移动时触发图片旋转(非动画)

    非动画,只是简单的触发器. 主要是针对旋转的写法. 代码 <Grid> <Image x:Name="image" Source="nifi3.gif& ...

  4. 1. mvc 树形控件tree + 表格jqgrid 显示界面

    1.界面显示效果 2.资源下载 地址 1. jstree  https://www.jstree.com/   2.表格jqgrid  https://blog.mn886.net/jqGrid/  ...

  5. runtime template in vuejs

    在使用vuejs开发的过程中,有时候我们需要动态模板的场景,也就是说模板并不是静态定义好的,而是动态变化的. 比如在做一个所见所得编辑器时,编辑人员可能时刻需要调整他设计的页面内容,而如果页面内容包含 ...

  6. Java生鲜电商平台-技术方案与文档下载

    Java生鲜电商平台-技术方案与文档下载 说明:任何一个好的项目,都应该有好的文档与设计方案,包括需求文档,概要设计,详细设计,测试用例,验收报告等等,类似下面这个图: 有以下几个管理域: 1. 开发 ...

  7. centos7安装jdk1.7(rpm版)

    一.环境 centos7 jdk-7u80-linux-x64.rpm下载:链接:https://pan.baidu.com/s/10UMrxNE1d2ZbDt7kvBM1yQ   提取码:pmov  ...

  8. Linux signal与定时器

    1. signal sighandler_t signal(int signum, sighandler_t handler); signum:是一个信号.除了SIGKILL和SIGSTOP外的任何一 ...

  9. 如何在unbuntu 16.04上在线安装vsftpd

    本文涉及命令如下: # service vsftpd status //查询vsftp服务状态 # apt-get remove vsftpd //卸载vsftpd # apt-get install ...

  10. X264-视频帧的存取

    X264的编码器结构体x264_t中的子结构体字段frames包含了4个临时视频帧序列空间:current.next.unused和reference,分别保存当前编码帧.将编码帧序列.未处理原始视频 ...