ASP.NET MVC基础_实用技巧

一、MVC与ASP.NET MVC基础概念

MVC是Model-View-Controller的缩写.
MVC将应用程序划分为3大组件:模型\视图\控制器.
MVC不是ASP.NET所特有,它只是一种开发理念.java中的struts2也是一种MVC模型.
ASP.NET MVC从2008年发布1.0版以来,截至2014年ASP.NET MVC最新版本已经是5.0.
ASP.NET MVC从1.0版开始,就已经开放源代码(源码地址:aspnetwebstack.codeplex.com).
ASP.NET MVC官网地址:http://www.asp.net/mvc

二、MVC三大组件的相互关系

在控制器中可以直接调用视图和模型

在视图中可以调用模型.

模型不能调用视图

模型能够限定视图中使用的数据,但视图中使用的模型应由控制器提供

在视图中可以调用控制器(通过视图中表单的提交和点击超链接的方式调用)

三、ASP.NET Webform模型和ASP.NET MVC模型的关系

二者都是基于ASP.NET Web框架构建的开发模型.所以ASP.NET中的一些功能可以被二者公用.

Webform编程模型是典型的以事件驱动的web模型,而MVC则不是.

Webform的URL地址是基于文件系统的,而MVC则是基于Action.

四、ASP.NET MVC中的约定

所有的控制器必须放到Controllers文件夹下

所有的控制器类名必须以Controller结尾

所有的模型应该放到Models目录下

所有的视图文件都应该放到Views目录下.

所有的控制器类都应该继承自Controller类(本质上是要继承Icontroller接口)

在控制器类中的public方法被成为Action(行为)

如果在相应的视图目录中没有找到视图文件,那么会寻找Views\Shared目录下名称相同的视图文件

在Action中return view(),默认会返回和Action名称一样的视图文件.

在Global.asax全局应用程序类中注册了默认路由(名称为Default),默认路由指定了Controller默认为Home,Action默认为Index,参数id为可选参数.所以在URL地址中如果不输入controller默认访问Home控制器;如果不输入action默认访问名称为Index的action.http://localhost:54321/   解释:根据默认路由规则,等价于 => http://localhost:54321/Home/Index
http://localhost:54321/Home/Index/5  解释:数值5会自动映射到action中名称为id的参数中。
Http://localhost:54321/Home/Index/5?name=jack&age=20   解释:其中参数包括id、name和age三个

其他

在视图文件中,有一个名称为Model属性,它指代的是从Action中传递的模型数据.为了使用模型数据,我们还需要在aspx视图中<%@Page  %>指令的Inherits属性中设置模型数据的类型/Razor视图中设置model 类型......

时间: 2024-10-22 23:02:28

ASP.NET MVC基础_实用技巧的相关文章

请求如何进入ASP.NET MVC框架_实用技巧

一.前言 对于WebForm开发,请求通常是一个以.aspx结尾的url,对应一个物理文件,从代码的角度来说它其实是一个控件(Page).而在MVC中,一个请求对应的是一个Controller里的Action.熟悉asp.net的朋友都知道,asp.net请求实际都是交给HttpHandler处理(实现了IHttpHandler的类型).无论是.aspx,.ashx,.asmx 还是MVC里的Action,请求都会交给HttpHandler.具体是在管道事件中,会根据请求创建一个HttpHand

云服务器下搭建ASP.NET Core环境_实用技巧

最近.net core如火如荼,国内这方面环境搭建方面的文档也非常多,但是不少已经是过时的,就算按照那个流程走下去也避免不了一些地方早就不一样了.所以下面我将从头到尾的教大家搭建一次环境,并且成功运行官网的demo. 一.系统环境 本次笔者因为懒的去做虚拟机,所以注册了一个云提供商的试用账户作为本次的主机. 系统: Ubuntu Server 14.04.2 LTS 64bit Mono: 1.0.0-rc1-update1 Coreclr: 1.0.0-rc1-update1 二.正文 1.首

ASP.NET性能优化小结(ASP.NET&amp;amp;C#)_实用技巧

ASP.NET: 一.返回多个数据集 检查你的访问数据库的代码,看是否存在着要返回多次的请求.每次往返降低了你的应用程序的每秒能够响应请求的次数.通过在单个数据库请求中返回多个结果集,可以减少与数据库通信的时间,使你的系统具有扩展性,也可以减少数据库服务器响应请求的工作量. 如果用动态的SQL语句来返回多个数据集,那用存储过程来替代动态的SQL语句会更好些.是否把业务逻辑写到存储过程中,这个有点争议.但是我认为,把业务逻辑写到存储过程里面可以限制返回结果集的大小,减小网络数据的流量,在逻辑层也不

比较完整的 asp.net 学习流程_实用技巧

如果你已经有较多的面向对象开发经验,跳过以下这两步: 第一步 掌握一门.NET面向对象语言,C#或VB.NET 我强烈反对在没系统学过一门面向对象(OO)语言的前提下去学ASP.NET. ASP.NET是一个全面向对象的技术,不懂OO,那绝对学不下去! 第二步 对.NET Framework类库有一定的了解 可以通过开发Windows Form应用程序来学习.NET Framework.ASP.NET是建构在.NET Framework之上的技术,你对.NET Framework了解得越深,学习

ASP.NET 在线文件管理_实用技巧

把它传到虚拟空间中,就可以很方便地把服务的各个目录和内容都遍历出来,或者选择下载.嘿嘿,大家不要利用它做坏事哦.这个作为大家学习ASP.NET 文件操作用的. WebFile1.0 系统介绍: 1.本系统由ASP.NET 3.5编写,在线管理文件包括整个服务器文件遍历,下载!!!! 2.本系统代码完全由手动编写,不产生任何一丁点的HTML代码冗余. 因为是第一版,许多功能都有待完善,不过,请各位把使用后的情况反馈一下,谢谢啦!  使用说明: 1.把WebFile.RAR解压,把Bin里面的两个链

asp.net sql存储过程_实用技巧

Visual Studio.Net为SQL的存储过程提供了强大的支持,您既可以通过visual studio.net来新建存储过程,也可以直接在Sql Server的查询分析器中运行,还可以通过企业管理器创建,使用起来也非常方便.大家一直都误认为SQL存储过程是一个比较"高深"的技术,其实掌握一般的语法是没有什么大问题的,而我们在使用存储教程中也主要是增删减的操作,学会使用一般的T-SQL就很容易上手了. 我们先来看一下在Sql-server中是如何创建一个存储过程的吧,我们可以使用S

Linux(Ubuntu)下搭建ASP.NET Core环境_实用技巧

今天来学习一下ASP.NET Core 运行在Ubuntu中.无需安装mono . 环境 Ubuntu 14.04.4 LTS 服务器版 全新安装系统. 下载地址:http://mirrors.neusoft.edu.cn/ubuntu-releases/14.04.4/ubuntu-14.04.4-server-amd64.iso 你也可以下载桌面版安装. 下载地址:http://mirrors.neusoft.edu.cn/ubuntu-releases/14.04.4/ 安装DNVM 首先

ubuntu16.4下用jexus部署ASP.NET Core环境_实用技巧

上篇文章介绍了下用vs发布部署到iis环境,今天说下ubuntu下部署asp.net core,不需要安装.net core sdk,自带运行时方式部署,利用jexus服务器转发请求到asp.net core. 1.部署准备环境 vmware虚拟机(其他也可以) ubuntu16.04镜像 2.发布环境 win10系统 vs2015 update3 或vs code (也可以用dotnet new -t web 命令创建项目) dotnet sdk DotNetCore.1.0.0-SDK.Pr

彻底解决ASP.NET MD5加密中文结果和ASP不一致的问题_实用技巧

当要进行MD5加密的字符串不含中文时,那么ASP.NET的加密结果和ASP是一致的: 复制代码 代码如下: Response.Write(FormsAuthentication.HashPasswordForStoringInConfigFile("www.mzwu.com", "MD5")); //结果:D66E1F138689B9B5AA4C520D9EAFFB61 复制代码 代码如下: Response.Write(MD5("www.mzwu.com