2014/12/01
1、初步认识MVC模型。
MVC模式是一种表现模式。它将web应用程序分成三个部分,模型(Model)、视图(View)、控制器(Controller)。
Model:是实现业务逻辑层对实体类响应数据库操作。
View:是用户接口层组件,仅仅只是用来展示数据的。
Controller:处理用户交互,从model中获取数据并将数据传给指定的视图展示。

例子:访问home控制器下面的action,由对应home控制器的视图展示数据。
控制器:HomeController: Controller

public ActionResult Index()
{
ViewData["Msg"] = "欢迎使用 ASP.NET MVC!";
return View(); //默认Home控制器视图Index界面展示数据。
}

视图:<%:ViewData["Msg"]%>

视图Shared文件夹,公用视图,可以存放母版页、用户控件、错误页面等。

控制器自动搜索视图约定:
1、查找控制器同名文件夹下的视图aspx。
2、查找控制器同名文件夹下的视图ascx。
3、查找Shared文件夹下的视图aspx。
4、查找Shared文件夹下的视图ascx。

return View("Index");  //指定Index视图展示数据。
return Content("输出内容。");  //打印
return RedirectToAction("Index"); //跳转执行action-Index()方法。

关于路由初步认识:

routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", //路由名称
"{controller}/{action}/{id}", //带有参数的 URL
new {controller="Home",action="Index",id=UrlParameter.Optional} //参数默认值
);

1、请求控制器action方法,即可以接收Get,也可以接收Post提交的数据。

*MVC强大的内置Htmlhelper类。

<%: Html.TextBox("txtName","这是文本框。") %>
//自动生成html标签为:
<input id="txtName" name="txtName" type="text" value="这是文本框。">
<%: Html.ActionLink("这是A标签。","Index","Home",new {Id="a1",style="color:red;",@class="classA"}) %>
//自动生成html标签为:
<a id="a1" class="classA" href="/Home/Index" style="color:red;">这是A标签。</a>
男:<%: Html.RadioButton("txtGender",1,true) %><br/>
女:<%: Html.RadioButton("txtGender",2,false) %><br/>
保密:<%: Html.RadioButton("txtGender",1,false) %><br/>
ViewData["city"] = new List<selectListItem>()
{
new SelectListItem(){Selected=false,Text="北京",Value="1"},
new SelectListItem(){Selected=false,Text="天津",Value="2"},
new SelectListItem(){Selected=false,Text="南京",Value="3"},
new SelectListItem(){Selected=false,Text="成都",Value="4"},
}; <%: Html.DropDownList("city") %>
//注释:后台将数据存储到ViewData中,前台通过key直接获取集合数据。

*强类型视图:
表单提交,ID和name值只要model类字段一样,提交的时候自动封装到实体类中。

//视图中使用表单标签2种方式
<% using(Html.BeginForm()) {%>

<%}%> //推荐

<% Html.BeginForm();%>
//……
<% Html.EndForm();%>

学习总结:
mvc与asp.net最大区别就是业务逻辑层(.cs)与视图层(.aspx)弱耦合关系。
视图层不再是一一对应逻辑层,用户访问页面也不再是直接访问指定的视图,
而是通过访问指定的控制器下面的action方法,通过控制器将最终数据交给视图展示。
备注:用户—>控制器—>模型(BLL,DAL)—>数据库(DB)—>模型—>控制器—>视图。

使用MVC不再使用任何服务器端控件,也没有viewstate。

[MVC学习日记]2014/12/01 初步认识MVC模型。的更多相关文章

  1. Spring MVC 学习总结(十)——Spring+Spring MVC+MyBatis框架集成(IntelliJ IDEA SSM集成)

    与SSH(Struts/Spring/Hibernate/)一样,Spring+SpringMVC+MyBatis也有一个简称SSM,Spring实现业务对象管理,Spring MVC负责请求的转发和 ...

  2. ASP.NET MVC 学习笔记-2.Razor语法 ASP.NET MVC 学习笔记-1.ASP.NET MVC 基础 反射的具体应用 策略模式的具体应用 责任链模式的具体应用 ServiceStack.Redis订阅发布服务的调用 C#读取XML文件的基类实现

    ASP.NET MVC 学习笔记-2.Razor语法   1.         表达式 表达式必须跟在“@”符号之后, 2.         代码块 代码块必须位于“@{}”中,并且每行代码必须以“: ...

  3. ASP.NET MVC 学习笔记-7.自定义配置信息 ASP.NET MVC 学习笔记-6.异步控制器 ASP.NET MVC 学习笔记-5.Controller与View的数据传递 ASP.NET MVC 学习笔记-4.ASP.NET MVC中Ajax的应用 ASP.NET MVC 学习笔记-3.面向对象设计原则

    ASP.NET MVC 学习笔记-7.自定义配置信息   ASP.NET程序中的web.config文件中,在appSettings这个配置节中能够保存一些配置,比如, 1 <appSettin ...

  4. Asp.Net MVC学习总结(一)——Asp.Net MVC简单入门

    一.MVC简单入门 1.1.MVC概念 视图(View) 代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML.XML和Applet. 模型(Model) 表示用户对其数 ...

  5. ASP.NET MVC 学习1、新增Controller,了解MVC运行机制

    1,turorial ,根据链接教程新建一个MVC项目 http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/ ...

  6. 【ASP.NET MVC 学习笔记】- 12 Filter

    本文参考:http://www.cnblogs.com/willick/p/3331520.html 1.Filter(过滤器)是基于AOP(Aspect-Oriented Programming 面 ...

  7. MVC学习日记(三)EntityFramework

    其实学会了第一篇的创建和第二篇的使用以后,基本的mvc操作足够了,至于验证神马的,还不如用Jquery.h5的好看适用,所以接下来, 后续上会讲一些比较实用的. 在之前的文章说到了基础的使用, 那么, ...

  8. Cheatsheet: 2014 12.01 ~ 12.31

    .NET Some Thoughts on the new .Net Introducing .NET Core Running ASP.NET on a Raspberry Pi with Mono ...

  9. 2014.12.01 B/S 使用VS建立Web网站

    要求:从hr数据库info表读取数据,在Web网站中显示为如图: 用DW绘制一个表格,然后将代码拷贝到新建的网站主页代码中 <div> <table bgcolor=" w ...

随机推荐

  1. vue 深入响应式原理

    vue最显著的特性就是不太引人注意的响应式系统(reactivity system),模型层(model)只是普通的javascript对象,修改它则更新视图view.这会让状态管理变得非常简单且直观 ...

  2. spring过滤器和拦截器的区别和联系

    一 简介 (1)过滤器: 依赖于servlet容器,是JavaEE标准,是在请求进入容器之后,还未进入Servlet之前进行预处理,并且在请求结束返回给前端这之间进行后期处理.在实现上基于函数回调,可 ...

  3. redis 管道

    http://www.w3cschool.cc/redis/redis-pipelining.html

  4. php 常面试

    问题:请用最简单的语言告诉我PHP是什么? 回答:PHP全称:Hypertext Preprocessor,是一种用来开发动态网站的服务器脚本语言. 问题:什么是MVC? 回答:MVC由Model(模 ...

  5. hive0.13.1安装-mysql server作为hive的metastore

    hive0.13.1在hadoop2.4.1伪分布式部署上安装过程 环境:redhat enterprice 6.5 +hadoop2.4.1+hive0.13.1+mysql单节点伪分布式部署 相关 ...

  6. Android无线测试之—UiAutomator UiDevice API介绍四

    拖拽与滑动 一.概念介绍: 1)拖拽:将组建从一个坐标移动到另一个坐标 2)移动:从一二坐标点移动到另一个坐标点 3)步长:从一点滑动到另一点使用的时间 二.拖拽与滑动的相关API: 返回值 方法名 ...

  7. Android无线测试之—Genymotion配置过程中常见问题

    一.前提条件: 已经部署好了Android UiAutomator测试环境. 二.在部署Genymotion时遇到了两类问题: 1.通过eclipse打开一个模拟设备,然后将编译好的jar包push到 ...

  8. Android开发:使用DialogFragment实现dialog自定义布局

    使用DialogFragment实现dialog的自定义布局最大的好处是可以更好控制dialog的生命周期. TestFragment的代码: public class TestFragment ex ...

  9. SharePoint 2013 安装.net framework 4.5已经存在更高版本的解决方案

    请参考: https://support.microsoft.com/en-us/help/3087184/sharepoint-2013-or-project-server-2013-setup-e ...

  10. jquery 操作动态添加的元素

    动态添加的元素,无法侦听到事件,写法如下: 使用函数.on 格式为: $(父元素).on('event','selector',function(){ //do something }) 例如 < ...