您的位置:首页 > 编程语言 > ASP

ASP.NET MVC(1)

2015-10-10 10:16 519 查看
1.MVC 模式两种理解:一种是表现模式,另外一种是架构模式。

它将应用程序分成三个主要组件即:视图(View)控制器(

Controller)模型(Model)

M:Model 主要是存储或者是处理数据的组件

Model其实是实现业务逻辑层对实体类相应 数据库操作,如:

CRUD(C:Create/R:Read/U:Update/D:Delete) 。它包括数据、验证规则、

数据访问和业务逻辑等应用程序信息。ViewModel:视图模型

V:View 是用户接口层组件。主要是将Model中的数据展示给用户

。ASPX和ASCX文件被用来处理视图的职责。

C: Controller 处理用户交互,从model中获取数据并将数据传

给指定的view

请求处理模型



视图模型



在asp.NET的开发方式上存在两种不同的开发方式webform和asp.net mvc ,都是基于asp.net管道模型

webform请求模型:



MVC请求模型:



控制器下面的方法都是Action

要点:

Controller放到controllers文件夹中,并且命名方式以Controller结尾,每个Controller都对应View中的一个文件夹,文件夹的名称跟Controller名相同

Controller中的方法名都对应一个View视图(非必须,但是建议这么做)而且View的名字跟Action的名字相同

控制器必须是非静态类,并且要实现IController接口, Controller类型可以放到其他项目中

所有的视图必须放到Views目录下,不同控制器的视图用文件夹进行分割,每个控制器都对应一个视图目录

一般视图名字跟控制器的Action相对应(非必须)多个控制器公共的视图放到Shared

请求地址是一个控制器下面的方法 http://localhost:6697/Home/Index 请求Home控制器下的Index

在App_Start文件夹下有路由配置RouteConfig.cs

//注册一条路由规则
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);


在请求时, http://localhost:6697这个也能访问到Home控制器下的Index
数据传递,通过数据字典视图

ViewData["key1"]=DateTime.Now;
在View视图里面自动,可以使用 ViewData["key1"]来取值,在view里取值如下<h1><%:ViewData["key1"] %></h1>

asp.net中<%:%><%=%>的区别
用=号会把如<script>alert('dd');</script>直接输出到客户端,不会转义,客户端会执行脚本


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: