.NET MVC简单介绍

.NET MVC简单介绍ASP.NetMVC简介什么是ASP.NetMVC?HttpHandler是ASP.net的底层机制,如果直接使用HttpHandler进行开发难度比较大、工作量大。因此提供了ASP.Net

大家好,又见面了,我是你们的朋友全栈君。

ASP.Net MVC简介

什么是ASP.Net MVC?

HttpHandler是ASP.net的底层机制,如果直接使用HttpHandler进行开发难度比较大、工作量大。因此提供了ASP.Net MVC、ASP.Net WebForm等高级封装的框架,简化开发,他们的底层仍然是HttpHandler、HttpRequest等这些东西。比如ASP.Net MVC的核心类仍然是实现了IHttpHandler接口的MVCHandler。

ASP.net WebForm、和ASP.net MVC的关系?

都是对HttpHandler的封装框架,ASP.net WebForm是微软为了让开发ASP.Net像开发WinForm一样傻瓜化发明的框架,有很多缺点;ASP.net MVC采用了MVC的思想,更适合现代项目的开发,因此ASP.net MVC在逐步取代ASP.Net WebForm。

为什么ASP.Net MVC更好?

程序员有更强的掌控力,不会产生垃圾代码;程序员能够更清晰的控制运行过程,因此安全、性能、架构等更清晰。WebForm和ASP.netMVC在“入门”和“深入”两个要素之间正好相反。

什么是MVC模式?

模型(Model)、视图(View)、控制器(Controller)
在这里插入图片描述

ASP.net MVC与“三层架构”

ASP.net MVC与“三层架构”没有任何的关系。三层架构中的UI层可以用ASP.Net MVC来实现。

约定大于配置

“约定大于配置”:恶心的“配置文件地狱”,基础阶段按照默认配置来,先不管复杂、难懂的“路由”等。

ASP.net MVC 起步

  1. 项目的创建:讲课使用VS2015,用VS2013也可以,新建项目→Visual C#→Web→【ASP.Net Web应用程序】 ,不要勾选【将Application Insights添加到项目】,然后【确定】。在下一步的界面中选中“Empty”(初学者不要用MVC的模板项目,会太乱),勾选【MVC】,不要勾选【Host in the cloud】。一定注意:上面图标选“empty”,不要选“MVC”;下面勾选MVC,否则会生成很多没用的代码。
    在这里插入图片描述
  2. 控制器的建立、视图的建立 :在Controllers文件夹下点右键→【添加】→【控制器】→选择【MVC5控制器-空】,类的名字以Controller结尾,比如“TestController”,会自动在Views文件夹下创建一个Test文件夹(如果不新建就手动建,这个文件夹的名字必须是TestController去掉Controller),在Views/Test下新建视图Index(和TestController的Index方法一致):添加→视图
    在这里插入图片描述
  3. 新建一个用来收集用户参数的类:IndexReqModel(类名无所谓)包含Num1、Num2两个属性(只要不重名,大小写都可以)。然后声明一个IndexRespModel类用来给view传递数据显示,有Num1、Num2、Result。也可以同一个类实现,但是这样写看起来比较清晰。
    在这里插入图片描述
  4. 在Index.cshtml如下编写
    在这里插入图片描述
    5.调试启动后,浏览器访问:Index
    画图分析执行过程、数据流动过程:当用户访问“/Test/Index?num1=1&num2=5”的时候,会找到Controllers下的TestController的Index方法去执行,把请求参数按照名字填充到Index方法的参数对象中(MVC引擎负责创建对象,给数据复制,并且进行类型的转换),reutrn View(resp)就会找到Views下的和自己的“类名、方法名”相对应的Index.cshtml,然后把数据resp给到Index.cshtml去显示。@model (要小写) WebApplication2.Models.IndexRespModel表示传递过来的数据是IndexRespModel类型的,@Model(大写开头)指向传递过来的对象。
    cshtml模板就是简化HTML的拼接的模板,最终还是生成html给浏览器显示,不能直接访问cshtml文件。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/154459.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • [学习笔记]笛卡尔树[通俗易懂]

    [学习笔记]笛卡尔树[通俗易懂][学习笔记]笛卡尔树

    2022年4月21日
  • Oracle实用操作(三)oracle 表名长度的限制

    Oracle实用操作(三)oracle 表名长度的限制Oracle实用操作(三)oracle表名长度的限制1、在新建oracle表的时候,经过查找相关资料oracle表名的最大长度是30,我加上了0331正好是30,多加2为就32了,当然报错了。2、同时有网友说看看descuser_tables,看table_name字段的定义也可以发现,这个很有道理,于是我看了一把.这么看来,表空间名最大长度也是30。看来oracle对30,情有独钟嘛。…

    2022年5月13日
  • GROUP BY语句详解

    GROUP BY语句详解一、groupby的意思为分组汇总。使用了groupby后,要求Select出的结果字段都是可汇总的,否则就会出错。groupby有一个原则,就是select后面的所有列中,没有使用聚合函数的列,必须出现在groupby后面。比如,有:{学号,姓名,性别,年龄,成绩}字段这样写:SELECT学号,姓名,性别,年龄,sum(成绩)FROM学生表GROUPB…

    2022年5月26日
  • 数据库设计 ER图

    数据库设计 ER图一、ER图简介ER图,简单来说,E是实体,实体有一组属性;R是关系。找打系统中的实体以及实体关系就可以绘制出ER图了。例如,下图是网上找到的ER图,矩形的是实体,椭圆是属性,实体何实体时间的关系用菱形,关系也有熟悉,例如,学生选修课程,有成绩属性,当然如果系统需要,也可以记录选修的时间等属性信息。认真看下,你会发现ER图理解起来还是比较容易的二、ER图绘制常见问题但是真的落实到自己绘制,很多同学就会遇到困难。下面我们通过反例来学习ER图1.反例1区分功能和关系.

    2022年6月21日
  • oracle查询约束条件[通俗易懂]

    oracle查询约束条件[通俗易懂]查找约束的方法如下:(1)查找某表上的约束select*fromuser_constraintswheretable_name=‘MEDIA’(2)查找到约束所在的表SELECT*FROMUSER_CONSTRAINTSWHERECONSTRAINT_NAME=‘PK_MEDIA’;可能需要DBA权限。2.定义UNINQU…

    2022年10月13日
  • 密码攻略 黑客亲手打造QQ密码激活成功教程器(转)

    密码攻略 黑客亲手打造QQ密码激活成功教程器(转)密码攻略黑客亲手打造QQ密码激活成功教程器(转)[@more@]现在使用QQ的网友越来越多了。可是如果密码忘记了或嫌输入QQ密码过于麻烦,那怎么办呢。我们可以自己制作一款QQ密码器。如果你感兴趣的话。可以和我一起自己动手做一个这样的Q…

    2022年7月20日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号