ASP.NET MVC (一、控制器与视图)
目录
前言:
1、MVC简介
2、项目创建:(这里使用工具为:Visual Studio 2019)
2.1、文件夹与文件夹介绍:
3、控制器
3.1、添加控制器
3.2、添加视图层
3.3、修改默认路由
前言:
ASP.NET MVC是最简洁、最方便、最高效、最快速的小型网站开发的方法,本文可以让一个小白用最快速的方式学会网站开发。
这个世界上只有一种真正的英雄主义:
认清生活的真想,并且任然热爱它。难道向上攀爬的那条路,不是比站在顶峰更让人心潮澎湃吗?
1、MVC简介
MVC是一种软件设计模式。
组成:Model(模型)、View(视图)和Controller(控制器) 作用:用户接口和逻辑层相互分离,以便开发人员更好地关注逻辑层的设计和测试,并使整个程序具备清晰的架构
MVC执行流程:浏览器请求->控制器->模型->视图->显示结果
Model 模型是实现应用程序数据域逻辑的应用程序组件,通常被称为“数据模型”。模型对象会检索模型状态并将其存储在数据库中。
Controller 控制器是处理用户交互、使用模型并选择视图来显示界面的组件。在 MVC 应用程序中,视图仅显示界面;控制器则用于处理和响应用户输入和交互。
View 视图是显示应用程序用户界面 (UI) 的组件。 通常,此 UI 由模型数据创建。
当前版本:
ASP.NET MVC 5 2013年10月,ASP.NET MVC 5与Visual Studio 2013一起发布。这个版本的关注点是“One ASP.NET”计划,以及对整个ASP.NET框架所做的核心增强。 以下为其主要特性: One ASP.NET 新的Web项目体验 ASP.NET Identity Bootstrap模板
版本要求:
软件要求 ASP.NET MVC 5需要.NET Framework 4.5。因此,它可以运行在下面这些Windows客户端操作系统上:Windows Vista SP2、Windows7、Windows8和Windows10。 也可以运行在下Windows Server2008 R2、Windows Server2012这些服务器操作系统上。
支持开发工具 Visual Studio 2012和Visual Studio 2013及其后续版本
2、项目创建:(这里使用工具为:Visual Studio 2019)
选择【ASP.NET Web 应用程序(.NET Framework)】
输入项目名称,点击【创建】
选择【MVC】,点击取消【为HTTPS配置】,点击【创建】。
创建效果如下图:
点击开始执行:
执行效果:
2.1、文件夹与文件夹介绍:
目录 |
说明 |
App_Data |
数据的物理存储区,即本地化的数据库文件或数据文件。 |
App_Start |
包含多个静态配置类,执行应用程序的初始化任务 |
Content |
放置应用程序的静态内容,如CSS、可下载的文件及音乐文件等 |
Controller |
放置控制器文件。控制器文件是后缀名为.cs或.vb的类文件 |
Models |
放置数据模型对象的文件,如.cs、.vb、.edmx和.dbml等 |
Scripts |
放置JavaScript、jQuery文件,文件后缀名通常为.js |
Views |
放置视图文件,文件后缀名为.cshtml或.aspx |
Global.asax |
全局应用程序类文件 |
Web.config |
应用程序配置文件 |
3、控制器
控制器类名须由Controller结尾。例如:Home控制器命名为HomeController。 控制器类的基类是Controller类。 控制器必须包含至少一个返回值为ActionResult类型的public方法,这类方法称为操作(Action)方法。例如:HomeController的Index()方法就是一个操作方法。
3.1、添加控制器
在【Controllers】上点击【鼠标右键】,依次选择【添加】【控制器】
依次选择【控制器】【MVC 5 控制器 - 空】,点击【添加】
输入控制器名称:(这里Test举例),后缀必须是【Controller】
创建成功:
自动生成的【View】层文件夹
3.2、添加视图层
在【TestController.cs】文件内的【Index】方法上点击【鼠标右键】,点击【添加视图】
默认选择【视图】【MVC 5 视图】,点击【添加】
点击【添加】
视图文件位置:
自带内容:
3.3、修改默认路由
由于自定义创建的是【Test】控制器,故而【controller的值是"Test"】,默认方法是【Index】,并且咱已经创建了视图。
添加【Index.cshtml】视图文件内容:
@{ViewBag.Title = "主页面";
}
<h2>Index</h2>
<hr/>
<h3>努力挣钱的意义</h3>
<hr/>
<p>不要当父母需要你的时候,除了泪水一无所有。</p>
<p>不要当孩子需要你的时候,除了惭愧一无所有。</p>
<p>不要当自己回顾过去,除了蹉跎一无所有。</p>
<p>这就是奋斗的理由。</p>
点击【调试】并点击【开始执行】:
执行效果:
第一章【一、控制器与视图】完结。
【一、控制器与视图:https://laoshifu.blog.csdn.net/article/details/120126288】
【二、数据传递:https://laoshifu.blog.csdn.net/article/details/120127320】
【三、表单与文件上传:https://laoshifu.blog.csdn.net/article/details/120130566】
【四、ASP.NET Web API应用程序与跨域操作:https://laoshifu.blog.csdn.net/article/details/120160728】
【五、HttpClient接口解析:https://laoshifu.blog.csdn.net/article/details/120332379】
ASP.NET MVC (一、控制器与视图)相关推荐
- 服务端第四次课程:MVC,控制器,视图渲染
MVC,控制器,视图渲染 文章目录 MVC,控制器,视图渲染 1:什么是servlet 2:filter controller 3:spring MVC 的请求 1:作业 4:spittle 5:sp ...
- .NET/ASP.NET MVC Controller 控制器(IController控制器的创建过程)
阅读目录: 1.开篇介绍 2.ASP.NETMVC IControllerFactory 控制器工厂接口 3.ASP.NETMVC DefaultControllerFactory 默认控制器工厂 4 ...
- ASP.NET MVC传递Model到视图的多种方式之通用方式的使用
ASP.NET MVC传递Model到视图的多种方式总结--通用方式的使用 有多种方式可以将数据传递到视图,如下所示: ViewData ViewBag PartialView TempData Vi ...
- Asp.net Mvc 多级控制器 路由重写 及 多级Views目录 的寻找视图的规则 (多级路由) 如:Admin/Test/Index...
http://blog.csdn.net/buhuan123/article/details/26387427 目录(?)[-] 1那么我们再来看我们需要的访问方式如下图 razor视图的地址写成通配 ...
- ASP.NET MVC编程——控制器
每一个请求都会经过控制器处理,控制器中的每个方法被称为控制器操作,它处理具体的请求. 1操作输入参数 控制器的操作的输入参数可以是内置类型也可以是自定义类型. 2操作返回结果 结果类型 调用方法 备注 ...
- ASP.NET MVC 中删除无用视图引擎
默认情况下,ASP.NET MVC 同时支持 WebForm 和 Razor 引擎,而我们通常在同一个项目中只用到了一种视图引擎,如Razor,那么我们就移除没有使用的视图引擎,提高View视图的检索 ...
- asp.net mvc 中的部分视图
使用方法:@Html.Action(action, controller) 加载局部页面. 例如在模板页中使用:@Html.Action("Contact", "Comp ...
- ASP.NET MVC 在控制器中获取某个视图动态的HTML代码
如果我们需要动态的用AJAX从服务器端获取HTML代码,拼接字符串是一种不好的方式,所以我们将HTML代码写在cshtml文件中,然后通过代码传入model,动态获取cshtml中的HTML代码 当然 ...
- .Net Framework 4.5.1 ASP.NET MVC 5 下新建视图报“错误 运行所选代码生成器时出错 无法检索元数据 没有为该对象定义无参数构造函数”...
当在控制器中新建视图的时候,选择的视图界面如下: 执行添加后报如下错误: 错误的内容为: 错误 运行所选代码生成器时出错 无法检索"XXX"的元数据 没有为该对象定义无参数构造函数 ...
- 第二章 ASP.NET MVC (控制器向视图传递值(二))
一.可以把整个Models数据存放入ViewData对象或ViewBag对象中从而传递至视图页面. 现在我们来做一个小案例,看看如何将Model数据存储到ViewData对象或ViewBag对象中 现 ...
最新文章
- .NET Core 构建跨平台的桌面应用
- java web 程序---javabean实例--登陆界面并显示用户名和密码
- 仿拉钩app(一)---爬虫数据准备
- 瑞幸咖啡自曝虚假交易 22 亿,App 反冲 TOP 1
- Windows 系统下安装anaconda教程 ,小白教程!!!
- jQuery Mobile中列表项ol、ul中的li的data-*选项
- 浅谈《分布式光伏发电系统电气安全技术规范》
- paraview:python脚本
- 《货币简史》书中的精髓:货币产生的起源是什么?货币又是如何发展起来的?
- 怎么样利用栅格数据分类后的结果以行政区域统计各个地类的面积
- Pyhton抓取BOSS直聘职位描述和数据清洗,很简单没有那么难
- 手把手教您国外如何充值支付宝/微信教程
- Domain-Adversarial Training of Neural Networks
- ApowerMirror投屏(手机投屏电脑、电脑投屏到手机)
- 微机原理与接口技术 学习笔记(五) 8255(可编程并行接口芯片) 与 8253(可编程定时/计数器)
- 趋势 | 看,他的设计玩出花儿了
- 蓝牙(bluetooth)攻击与防护(二)
- 信通初试第一:无科研无竞赛一战上岸上海交大819学硕感悟
- 获得焦点和失去焦点事件的应用
- PATB1013(C++)
热门文章
- java ltpa_SystemOut频繁输出SECJ0369E: 使用 LTPA 时认证失败
- java并发编程之美-阅读记录2
- Random Forest(sklearn参数详解)
- 深入Eureka/Feign/Hystrix原理学习(1)
- mysql caching_sha2_password异常分析
- 20155330 实验四 Android程序设计
- PID入门的十五个基本概念
- 使用指针数组实现这两个矩阵的相乘
- SharePoint 向多行文本类型字段插入特殊类型链接
- 对PostgreSQL的 ctid 的初步认识