.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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • RPC是什么? (学习笔记)

    RPC是什么? (学习笔记)什么是RPC?RPC全称RemoteProcedureCall,即远程过程调用,就是要像调用本地的函数一样去调远程函数,屏蔽远程调用的复杂性。为什么需要RPC?微服务、分布式应用的开发越来越

    2022年8月3日
    5
  • 对称加密算法常用的五种分组模式(ECB/CBC/CFB/OFB/CTR)「建议收藏」

    版权声明:本文为作者原创,如需转载,请注明出处https://blog.csdn.net/weixin_42940826注:以下图片来自于《图解密码学》,这本书讲的更全面细致,建议阅读,在我资源库中有此书,还有使用go语言具体实现和解释此书中的各种加密算法的文档,有需要的可以自习前往免费下载一图全览五种模式详解1.ECB-ElectronicCodeBook,电子密码本…

    2022年4月11日
    61
  • android在eclipse环境下开发需要什么支持_eclipse环境配置教程

    android在eclipse环境下开发需要什么支持_eclipse环境配置教程eclipse中android环境配置java环境配置java下载去Oracle官网下载自己需要的java版本我这里选择的是windows的jdk8ps:下载需要登录自己Oracle账号,注册登录一下就行下载之后的exe文件双击开,安装到你需要安装的位置即可,我这里安装位置是D:\ProgramFiles\Java\jdk1.8.0_271环境配置在系统变量里面加入了变量JAVA_HOME,值为安装的位置然后在Path里面加入了%JAVA_HOME%\bin和%JAVA_HOME

    2022年10月5日
    0
  • mysql查看数据隔离级别_如何查看mysql数据库隔离级别

    mysql查看数据隔离级别_如何查看mysql数据库隔离级别CPUQuota=value该参数表示服务可以获取的最大CPU时间,value为百分数形式,高于100%表示可使用1核以上的CPU。与cgroupcpu控制器cpu.cfs_quota_us配置项对应。MemoryLimit=value该参数表示服务可以使用的最大内存量,value可以使用K,M,G,T等后缀表示值的大小。与cgroupmemory控制器…

    2022年5月9日
    43
  • 基于spark的数据采集平台

    基于spark的数据采集平台数据采集平台管理端https://github.com/zhaoyachao/zdh_web数据采集平台服务https://github.com/zhaoyachao/zdh_server平台介绍数据采集,处理,监控,调度,管理一体化平台具体介绍请看github连接中的readme文档

    2022年6月10日
    32
  • centos创建samba共享_安卓samba服务器

    centos创建samba共享_安卓samba服务器对公司的不同部门建立不同的文件共享,不同的用户访问同一个共享目录具有不同的权限.

    2022年9月15日
    0

发表回复

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

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