本文是本系列文章第一篇,主要通过建立一个默认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. golang module 在 spacemcs 中的配置

    概述 golang 官方的包管理从 1.11 版本就开始支持了, 之前尝试了几次, 效果都不理想, 就一直用 dep 来管理 package. 最近 1.13 版本发布了, 使用 go module ...

  2. 自已开发IM有那么难吗?手把手教你自撸一个Andriod版简易IM (有源码)

    本文由作者FreddyChen原创分享,为了更好的体现文章价值,引用时有少许改动,感谢原作者. 1.写在前面 一直想写一篇关于im即时通讯分享的文章,无奈工作太忙,很难抽出时间.今天终于从公司离职了, ...

  3. 【Oracle】rman基于时间点恢复

    rman基于时间点恢复 场景: 由于某研究的误操作,导致财务模块的数据丢失,如何使用rman基于时间点恢复数据. 思路 1.克隆数据库的虚拟机,直接对数据库的数据进行恢复 RMAN> shutd ...

  4. php imagemagick 翻译目录

    图像处理(ImageMagick) 介绍 安装/配置 要求 安装 运行时配置 资源类型 预定义常数 例子 基本用法 Imagick - Imagick课 Imagick :: adaptiveBlur ...

  5. dedecms用runphp功能,写for循环,@me输出不出来

    今天在{dede:field name='typeid' runphp='yes'}中写for循环,出现@me输出不了内容,把for循环删掉之后,就可以输出.死了几十万脑细胞,没有解决,后来把循环 f ...

  6. C# if else-if 语句

    一.作用 用来处理多条件的区间性的判断. 二.语法 if(判断条件) { 要执行的代码; } else if(判断条件) { 要执行的代码; } else if(判断条件) { 要执行的代码; } e ...

  7. NetCoreApi框架搭建(一、swagger插件使用)

    1.首先用vs2017创建新的项目 2.开始引入swagger插件 右击项目=>管理NuGet程序包=>搜索Swashbuckle.AspNetCore点击安装 3.打开Startup.c ...

  8. C# 实现敏感词过滤

    实现 该 敏感词过滤 采用的是 DFA算法,参考文章:https://blog.csdn.net/chenssy/article/details/26961957 具体 实现 步骤 如下: 第一步,构 ...

  9. Python【day 11】函数名的应用

    函数名的应用 1.函数名字可以作为参数进行传递 2.函数名可以像变量一样进行多次赋值传递,通过print(函数名.__name__)查看原函数 3.函数名表示函数的内存地址 4.函数名()表示函数的执 ...

  10. Python基础21

    对轴0,轴1,“axis”轴的理解很关键