ASP.NET开发实战——(一)开篇-用VS创建一个ASP.NET Web程序
本文是本系列文章第一篇,主要通过建立一个默认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程序的更多相关文章
- ASP.NET没有魔法——开篇-用VS创建一个ASP.NET Web程序
为什么写这一系列文章? 本系列文章基于ASP.NET MVC,在ASP.NET Core已经发布2.0版本,微服务漫天的今天为什么还写ASP.NET?. 答:虽然现在已经有ASP.NET Core并且 ...
- ASP.NET开发实战——(三)第一个ASP.NET应用《MyBlog》
本文开始通过ASP.NET MVC创建一个博客应用,该应用是通过默认的MVC模板修改而来,所以创建的过程和代码都与默认模板一致,然后通过修改的方式将默认模板改为博客的主页,并添加博客列表.内容等页面. ...
- ASP.NET开发实战——(四)ASP.NET MVC是如何运行的?它的生命周期是什么?
前面的文章我们使用ASP.NET MVC创建了个博客应用,那么它是如何工作的呢?我们都知道ASP.NET的程序需要部署到IIS上才能够通过浏览器来访问,那么IIS与ASP.NET MVC程序之间又是如 ...
- 在一个空ASP.NET Web项目上创建一个ASP.NET Web API 2.0应用
由于ASP.NET Web API具有与ASP.NET MVC类似的编程方式,再加上目前市面上专门介绍ASP.NET Web API 的书籍少之又少(我们看到的相关内容往往是某本介绍ASP.NET M ...
- [ASP.NET MVC2 系列] ASP.Net MVC教程之《在15分钟内用ASP.Net MVC创建一个电影数据库应用程序》
[ASP.NET MVC2 系列] [ASP.NET MVC2 系列] ASP.Net MVC教程之<在15分钟内用ASP.Net MVC创建一个电影数据库应用程序> ...
- Unity 2D游戏开发高速入门第1章创建一个简单的2D游戏
Unity 2D游戏开发高速入门第1章创建一个简单的2D游戏 即使是如今,非常多初学游戏开发的同学.在谈到Unity的时候.依旧会觉得Unity仅仅能用于制作3D游戏的. 实际上.Unity在2013 ...
- 如何创建一个Asp .Net Web Api项目
1.点击文件=>新建=>项目 2.创建一个Asp .NET Web项目 3.选择Empty,然后选中下面的MVC和Web Api,也可以直接选择Web Api选项,注意将身份验证设置为无身 ...
- ASP.NET开发实战——(九)ASP.NET MVC 与数据库之ORM
之前的文章中介绍了如何在ASP.NET中通过ADO.NET操作SQL Server和My SQL数据库,数据库的操作是通过SQL语句的执行来完成的,在ASP.NET中还有一个简便的方式来使用数据库,那 ...
- ASP.NET开发实战——(八)ASP.NET MVC 与数据库之MySQL
之前介绍了My Blog如何使用ADO.NET来访问SQL Server获取数据.本章将介绍如何使用My SQL来完成数据管理. 在使用My SQL之前需确保开发环境中安装了My SQL数据库和Con ...
随机推荐
- 源码详解系列(五) ------ C3P0的使用和分析(包括JNDI)
简介 c3p0是用于创建和管理连接,利用"池"的方式复用连接减少资源开销,和其他数据源一样,也具有连接数控制.连接可靠性测试.连接泄露控制.缓存语句等功能.目前,hibernate ...
- python-4-格式化输出
前言 有些小伙伴在打印中乱码或者编码不对,在这里讲格式化输出前,先讲下编码.我们都知道目前主流使用就是utf-8编码. 一.编码简介 编码用来让计算机识别,当然我们都知道计算机只能识别01010101 ...
- oracle导入Excel表文本数据
首先导Excel表数据要先建和Excel表字段对应的表,然后将Excel表另存为Txt文本, 然后在Plsql客户端点击工具->文本导入器 然后这里要选择用户及其表,点击导入数据就可以
- Ubuntu 16.04上anaconda安装和使用教程,安装jupyter扩展等 | anaconda tutorial on ubuntu 16.04
本文首发于个人博客https://kezunlin.me/post/23014ca5/,欢迎阅读最新内容! anaconda tutorial on ubuntu 16.04 Guide versio ...
- 5种mysql日志分析工具比拼
5种mysql日志分析工具比拼 摘自: linux.chinaitlab.com 被阅读次数: 79 由 yangyi 于 2009-08-13 22:18:05 提供 mysql slow log ...
- 古老的txt下传和txt上载
1.下传文件 TYPES:BEGIN OF TY_DATA, A2 TYPE CHAR20, B2 TYPE I, C2 TYPE CHAR20, END OF TY_DATA. DATA:IT_DA ...
- C# in 参数修饰符
in 修饰符记录: 新版C# 新增加的 in 修饰符:保证发送到方法当中的数据不被更改(值类型),当in 修饰符用于引用类型时,可以改变变量的内容,单不能更改变量本身. 个人理解:in 修饰符传递的数 ...
- Photoshop CC 2020 (PS 2020)改变与新功能
Adobe Photoshop CC 2020中文版新增相机防抖动功能.CameraRAW 功能改进.图像提升采样.属性面板改进.Behance集成等功能,以及同步设置和其他更多有用的功能.ps202 ...
- RabbitMQ实战应用技巧
1. RabbitMQ实战应用技巧 1.1. 前言 由于项目原因,之后会和RabbitMQ比较多的打交道,所以让我们来好好整理下RabbitMQ的应用实战技巧,尽量避免日后的采坑 1.2. 概述 Ra ...
- Linux signal与定时器
1. signal sighandler_t signal(int signum, sighandler_t handler); signum:是一个信号.除了SIGKILL和SIGSTOP外的任何一 ...