.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年7月4日 上午11:16
下一篇 2022年7月4日 上午11:16


相关推荐

  • firewall zone_firewalld关闭端口

    firewall zone_firewalld关闭端口自定义zone#添加/删除zonefirewall-cmd–new-zone=mysshzone–permanentfirewall-cmd–delete-zone=mysshzone–permanent#查询所有zone列表firewall-cmd–get-zonesblockdmzdropexternalhomeinternalmysshzonepublictrustedwork#显示生效的zonefirewall-cmd–get-a

    2022年10月6日
    3
  • h5页面如何生成二维码_js 根据内容 生成二维码

    h5页面如何生成二维码_js 根据内容 生成二维码uniapp,vue皆可使用首先去下载qrcode.js链接可以在根目录中新建utils文件夹,把下载的js放进去)1.引入js并创建data变量importqrcodefrom’@/utils/qrcode.js’data(){ return{ url:””, qrcodeURL:”” } }, methods:{ //生成url二维满 creatQrCode(){ this.url=window.location.h

    2026年4月13日
    5
  • 直读光谱仪分析谱线_频谱分析仪主要有哪几种

    直读光谱仪分析谱线_频谱分析仪主要有哪几种为什么使用频谱仪?01认识频谱电磁频谱,是指按电磁波波长(或频率)连续排列的电磁波族,是一种看不见摸不着但时刻伴随我们的东西。当我们使用电磁波将一串信息发送出去时,在时域上他是一段强度不同,疏密变化的时间信号,在其中的任意时刻,你所能获取的只有他的强度;当我们换个角度,站在频域上来看时,在信号的每一个时刻,你都能看到他从时域的一个点延展成了频域的一个面,你所能获取到的信息量将成倍增加,这有助于我们从中解析出更丰富的内容。因此,电磁频谱的观测,或者说使用频谱仪,我们实际上是换一…

    2022年8月11日
    6
  • java jsonobject转List_java – 将JSONObject转换为List或JSONArray的简单代码?「建议收藏」

    我已经通过各种线程阅读并发现了类似的问题,但在找到解决我的特定问题的方法方面却相当不成功.JSONObjectorr=(JSONObject)orderRows.get(“orderRows”);System.out.println(“datainorr=”+orr+”orr’stype=”+orr.getClass());返回:datainorr={“470…

    2022年4月9日
    49
  • 《中学数学》排列组合问题之:错位重排(python实现)

    《中学数学》排列组合问题之:错位重排(python实现)问题引出 编号为 1 N 的 N 个小球 装入编号为 1 N 的 N 个盒子 要求每个盒子装一个小球 并且盒子和小球的编号不相同 问有几种排法 假设 N 个小球有 D N 种排法 易得 D 1 0 D 2 1 D 3 2 容易推导关系式 D n n 1 D n 1 D n 2 其中 n gt 3

    2026年2月5日
    2
  • 喵友黎言卓:一个人的创业战争「建议收藏」

    喵友黎言卓:一个人的创业战争「建议收藏」大二选择辍学创业,没有团队、没有资金,个人生活极其窘困。这个站长还能坚持多久?24岁的创业者黎言卓,想做一款既带有社交与分享功能,但又与SNS不同;既可以写博客,却又与传统博客、轻博客、微博不同的产品。描述这款产品似乎有些拗口,总之,这个身处广州、在校期间被同学为电脑“天才”的年青人,2010年一个人编程、创办了一个叫“喵友”的博客社区。目前它已经有大约9000名用户,且每月以千人的数量在增长…

    2022年8月12日
    6

发表回复

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

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