MVC 菜鸟学习记录1

Asp.Net MVC 模式是一种表现模式。它将web应用程序分成三个主要组件即:

   Model、View、Controller

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

Model其实是实现业务逻辑层对实体类相应 数据库操作,如:CRUD(C:Create/R:Read/U:Update/D:Delete)。它包括数据、验证规则、数据访问和业务逻辑等应用程序信息。

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

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

ASP.NET MVC概述·MVC的优点:

1.通过把项目分成Model、View和Controller,使得复杂项目更加容易维护,减少项目之间的耦合。

2.没有使用ViewState和服务器表单控件,可以更方便的控制应用程序的行为

3.应用程序通过Controller来控制程序请求,并提供了原生的UrlRouting功能来重写Url。

4.使Web程序对单元测试的支持更加出色

5.在团队开发模式下表现更出众

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

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

开发流程

  1. 新建Controller
  2. 创建Action
  3. 根据Action创建View
  4. 在Action获取数据并生产ActionResult传递给View。
  5. View是显示数据的模板
  6. url请求→Controller.Action处理→View响应

Asp.Net MVC组件之间的关系

View和Controller都可以直接请求Model,但是Model不依赖View和controller

Controller可以直接请求View来显示具体页面,View不依赖Controller

其实:View可以通过另外的方式来请求Controller

时间: 2024-09-29 05:06:04

MVC 菜鸟学习记录1的相关文章

MVC 菜鸟学习记录2

自定义Html.Helper扩展方法 在Models文件夹下新建一个静态类,取名为:MyHtmlHelper.cs 将MyHtmlHelper设置为static,并写入以下的一个静态方法 public static MvcHtmlString GetMVCStringLabel(this HtmlHelper helper, string lbText) { StringBuilder sb = new StringBuilder(); sb.Append(@"<span>"

mvc Bundling 学习记录

因为现在的项目JS引用很多,无意中看到了MVC4的Bundling,开始的时候感觉很不错,将所有的CSS,js文件压缩成一个文件处理,画面调用也很简单 于是,花了一个下午的时候研究了一下,并且通过各种情况进行测试 可是结果不尽如人意,其中有一个比较很让人抓狂的问题 经常做.NET的人都知道,UI画面会引用很多的插件,比如easyui,ext等等,而这些插件里面包含了很多图片引用,因为图片呢,就涉及到一个做WEB的常见难题:路径(当然,如果所有的CSS文件中图片路径都是使用的绝对路径或者项目绝对路

mvc Bundling 学习记录(一)

参考博客:http://www.cnblogs.com/xwgli/p/3296809.html 这里要详细记录的是对于现有MVC项目进行Bundling功能 1  如果没有System.Web.Optimization这个应用,则通过nuget搜索安装System.Web.Optimization   2  在web.config(两个)添加<add namespace="System.Web.Optimization" />这一行  3  Global.asax 里面添

ASP.Net Mvc 5 学习记录2015-9-9

我之前一直都是学习和开发都采用ASP.Net WebForm,对MVC的一直都是一知半解,最初以为ASP.Net WebForm的N层架构就是MVC.其实N层架构设计思想是"高内聚,低耦合",也就是解耦,而非MVC的设计思想. 学习ASP.NET MVC感觉还是主要还是了解它的设计思想和设计理念.ASP.NET MVC与ASP.ENT WebForm的设计理念完全是不同的,而以前一直采用ASP.ENT WebForm编写网站.ASP.NET WebForm的2大特点:可视化布局和事件驱

Asp.Net MVC学习记录之“一个实体对象不能由多个 IEntityChangeTracker 实例引用”

原文:浅谈 js 正则之 test 方法 其实我很少用这个,所以之前一直没注意这个问题,自从落叶那厮写了个变态的测试我才去看了下这东西.先来看个东西吧. ? 1 2 3 4 5 var re = /\d/; console.log( re.test("1") ); console.log( re.test("1") ); console.log( re.test("1") ); console.log( re.test("1"

MVC+Ext.net零基础学习记录(五)

继MVC+Ext.net零基础学习记录(四),在后面我在既有的项目上又添加了一个子项目,还用前面提到的方法,进行主项目中引用DLL,然后子项目中生成事件中使用mkdir 进行拷贝 发现一个下午就总是报错 错误 1 命令“mkdir "...\Areas\HPSS\Views" xcopy "...?\Views" "E:\Work\01 TPMSRC\MVCWEBTPM\WEBTPM\Areas\HPSS\Views" /S /E /C /Y 已

MVC+Ext.net零基础学习记录(四)

在上一篇文章[MVC+Ext.net零基础学习记录(三)]中提到了利用MVC的Area可以做到项目分离,但是实际操作起来还是有很多问题的.比如,对于物理资源的访问,会报:没有相关资源 开始的时候,我在博客园也搜索到了很多解决方案,其中http://www.cnblogs.com/dingji/archive/2012/06/10/2544255.html这篇文章的解决方法是我感觉最有效的解决方法 但是我思考了很久,还是决定不采用MvcContrib进行分离,因为这样的话,一个问题是,DLL文件到

菜鸟学习Hibernate——一对多关系映射

Hibernate中的关系映射,最常见的关系映射之一就是一对多关系映射例如学生与班级的关系,一个班级对应多个学生.如图: Hibernate中如何来映射这两个的关系呢? 下面就为大家讲解一下: 1.创建实体类Classes和实体类Student Classes.java package com.bjpowernode.hibernate; import java.util.Set; public class Classes { private int id; private String nam

【C语言】【数据结构】菜鸟学习日志(四) 用二叉树实现非递归排序

唉,由于要备战考研,这篇博文可能是我这一年最后一次更新啦! 其实断断续续的也没有写很多,而且大多都是很初级.很简单的东西,没有和大家分享什么高阶的东西.这也正应了我们<菜鸟学习日志>的标题嘛! 不过说回来我还是很喜欢写博文的.一方面总结学到的知识,以后也可以自己看看别做了就忘了:另一方面,写博文也让我在学习的过程中更加认真,以免分享了错误的知识. 写的东西好不好呢是一说,好像有一些点击量,不过看的人估计也不多.只是我还算乐在其中吧! 大学生活说到底过得有点浪了,导致我苦逼地走向了考研的不归路-