开发人员之所以花费大量时间来重点设计控制器和模型对象,是因为在这些领域中,精心编写的整洁代码是开发一个可维护Web应用程序的基础. 3.1 视图的作用 视图的职责是向用户提供用户界面.当控制器针对被请求的URL执行完合适的逻辑后,就将要显示的内容委托给视图. 不像基于文件的Web框架,比如ASP.NET Web Forms和PHP,视图本身不会被直接访 问,浏览器不能直接指向一个视图并渲染它.相反,视图总是被控制器渲染,因为控制器为它提供了要渲染的数据. 在一些简单的情况中,视图不需要或需要很少…
1.1 ASP.NET MVC 简介 ASP.NET是一种构建Web应用程序的框架,它将一般的MVC(Model-View-Controller)模式应用于ASP.NET框架. 1.1.1 MVC模式简介 MVC将应用程序的用户界面(User Interface, UI)分为三个主要部分: 模型:一组类,描述了要处理的数据以及修改和操作数据的业务规则. 视图:定义应用程序用户界面的显示方式. 控制器:一组类,用于处理来自用户.整个应用程序流以及特定应用程序逻辑的通信. MVC作为用户界面模式 注…
2.1 控制器的角色 MVC模式中的控制器(Controller)主要负责响应用户的输入,冰球在响应时修改模型(Model).通过这种方式,MVC模式中的控制器主要关注的是应用程序流.输入数据的处理,以及对相关视图(View)输出数据的提供. URL首先告知路由机制去实例化哪个控制器,调用哪个操作方法,并为该方法提供需要的参数.然后控制器的方法决定使用哪个视图,并对该视图进行渲染. URL并不用存储在Web服务器磁盘上的文件有直接对应关系,而是与控制器类的方法有关. 2.2 示例应用程序:MVC…
继续记笔记,JavaScript越来越有意思了. 继续... 第三章:JavaScript基础 ECMAScript语法在很大程度上借鉴了C和其它类似于C的语言,比如Java和Perl. 大小写敏感:变量.函数名.操作符都是大小写敏感的,比如“text”和“Text”不同. 标识符: 第一个字符必须是字母.下划线或者美元符号($); 之后的字符可以是字母.下划线.美元符号或者数字. 标识符中的字母可以是ASCII和Unicode字母比如À and Æ,但是不推荐这样使用. 按照惯例,ECMASc…
参考资料<ASP.NET MVC5 高级编程>第5版 第5章 表单和HTML辅助方法 5.1 表单的使用 5.1.1 action 和 method 特性 默认情况下,表单发送的是 HTTP Post 请求 EF 对于外键关系,数据库名称等也有约定.这些约定取代了以前需要提供给一个关系对象映射框架的所有映射和配置. GET 方法:GET 请求的所有参数都在URL中,因此可以为GET 请求建立书签. POST 方法:浏览器把输入值放入 HTTP 请求的主体中. 5.2 辅助方法 可以通过视图的H…
参考资料<ASP.NET MVC5 高级编程>第5版 第3章 视图 3.1 视图的作用 视图的职责是向用户提供界面. 不像基于文件的框架,ASP.NET Web Forms 和PHP ,视图本身并不被访问,浏览器,并不能直接指向一个视图并渲染它.相反视图被控制器渲染,因为控制器提供了渲染所需要的数据. 一般情况下,控制器需要向视图提供一些信息,所以这会传递一个数据转移对象,叫做模型.完成这一过程需要两部分操作,其中一个是检查由控制器提交的模型对象,另一个是将其内容转化为HTML格式. 3.2…
参考资料<ASP.NET MVC5 高级编程>第5版 第2章 控制器 控制器:响应用户的HTTP 请求,并将处理的信息返回给浏览器. 2.1 ASP.NET MVC 简介 MVC 模式中的控制器(controller)主要负责响应用户的输入,并且在响应时修改(Model).通过这种方式,MVC 中的Controller 主要关注的是应用程序流,输入数据的处理,以及对相关视图(View)数据来源的提供 MVC 模式中 URL 首先告诉路由去实例化哪个控制器,调用哪个方法,并为该方法提供需要的参数…
首先解释下:本文只是对Asp.net MVC4高级编程这本书学习记录的学习笔记,书本内容感觉挺简单的,但学习容易忘记,因此在边看的同时边作下了笔记,可能其它朋友看的话没有情境和逻辑顺序还请谅解! 一.MVC控制器渲染视图的三种方式. 如下以HomeController控制器中的代码为例: 1.默认方式 public ActionResult Sample() { ViewBag.Message = "MySampleView"; return View();  //注意这里是渲染Vie…
1. 为MVC Music Store建模 Models文件夹(右击) --> 添加 --> 类 为类添加对应的属性: public class Album { public virtual int AlbumId { get; set; } public virtual int GenreId { get; set; } public virtual int ArtistId { get; set; } public virtual string Title { get; set; } pu…
1.1理解视图约定 当创建一个项目模版时,可以注意到,项目以一种非常具体的方式包含了一个结构化的Views目录.在每一个控制器的View文件夹中,每一个操作方法都有一个同名的视图文件与其对应.这就提供了视图与操作方法关联的基础. public ActionResult Index() { return View(); } 视图选择逻辑在/Views/ControllerName目录(这里就是去掉Controller后缀的控制器名)下查找与操作方法同名的视图.此处选择的是/Views/Home/I…
类和结构的区别 类成员 匿名类型 结构 弱引用 部分类 Object类,其他类都从该类派生而来 扩展方法 3.2 类和结构 类与结构的区别是它们在内存中的存储方式.访问方式(类似存储在堆上的引用类型,而结构是存储在栈上的值类型)和它们的一些特征. 语法上,类与结构非常相似,主要区别是结构使用关键字 struct 代替 class 来声明. 3.3 类成员 3.3.1 数据成员 数据成员是包含类数据—字段.常量和事件的成员. 3.3.2 函数成员 函数成员提供了操作类中数据的某些功能,包括方法.属…
基架--代码生成的模板.我姑且这么去定义它,在我学习微软向编程之前从未听说过,比如php代码,大部分情况下是我用vim去手写而成,重复使用的代码需要复制粘贴,即使后来我在使用eclipse这样的IDE书写javaee网站时候,大部分情况下也需要自己编程实现crud基本操作,这一次研究asp.net mvc时我惊奇的发现visual studio2013的强大功能:利用"基架"功能: 实践:新建好一个利用基架的Controller,见证强大的基架 第一步,新建一个MVC5项目 打开vis…
jQuery不仅支持所有现代浏览器,包括IE.Firefox.Safari.Opera和Chrome等,还可以在编写代码和浏览器API冲突时隐藏不一致性(和错误). 1. jQuery jQuery擅长在HTML文档中查找.遍历和操纵HTML元素.一旦找到元素,jQuery就可以方便的在其上进行操作,如连接事件处理程序.使其具有动画效果以及围绕它的Ajax交互等. 1.1 jQuery函数 jQuery函数对象可以用来访问jQuery特性. $(function (){ $("#album-li…
MVC模型 一.构建基架. MVC中的基架可以为应用程序提供CURD各种功能生成所需要的样板代码.在添加控制器的时候可以选择相应的模板以及实体对象来生成相应的模板代码. 首先定义一个模型类如下所示: namespace LYG.HelloWorld.Models { public class Album { public virtual int AlbumId { get; set; } public virtual string Title { get; set; } public virtu…
Razor页面布局 1)  在布局模板页中使用@RenderBody标记来渲染主要内容.比如很多web页面说头部和尾部相同,中间内容部分使用@RenderBody来显示不同的页面内容. 2)  在布局模板页中使用@RenderSection("SectionName")来渲染SectionName的节点内容. 定义一个节点 Example: @section SectionName{ This is the <strong>Foot page</strong>.…
MVC表单和HTML辅助方法 一.表单的使用. 表单中的action与method特性.Action表示表单要提交往那里,因此这里就有一个URL.这个URL可以是相对或绝对地址.表单默认的method属性值是get,如果看到表单没有写method属性那就是表示method是get方式提交.另外一种就是post方式. 当使用HTTP Get请求时,浏览器会提取表单中元素的name特性值及相应的value特性值放到查询字符串中.如:http://localhost?search?id=1 如果不想把…
理论: 先有GUI在发展,当用户按下某个键,某个进程会监听到这个动作,这个进程就是控制器.这就是MVC模式. 后来有了事件驱动编程,响应动作的是按钮本身,而不是控制器. 再后来webForm中,事件驱动需要通过隐藏域保存页面的状态.看起来提交一次没有变化,实际上经历了保存状态.销毁页面.服务端处理.恢复页面几个过程,究其本质,是因为web是无状态的. 最后的MVC,由用户提交一个请求,控制器选择相应视图,操纵模型,然后反馈给用户 控制器把视图渲染成html或其他,再由浏览器解释html.浏览器无…
每个ASP.NET MVC应用程序都需要路由来定义自己处理请求的方式.路由是MVC应用程序的入口点.路由的核心工作是将一个请求映射到一个操作 路由主要有两种用途: 匹配传入的请求(该请求不匹配服务器文件系统中的文件),并把这些请求映射到控制器操作. 构造传出的URL,用来响应控制器操作 1.特性路由 1.1 路由URL 创建一个ASP.NET MVC Web应用程序项目后,浏览Global.asax.cs文件中的代码中,Application_Start方法中调用了一个名为RegisterRou…
客户端验证逻辑会对用户向表单输入的数据给出一个即时反馈.而之所以需要服务器端验证,是因为来自网络的信息都是不能被信任的. 当在ASP.NET MVC设计模式上下文中谈论验证时,主要关注的是验证模型的值 数据注解特性定义在名称空间System.ComponentModel.DataAnnotations中,它们提供了服务器端验证的功能.当在模型的属性上使用这些属性时,框架也支持客户端验证.在名称空间DataAnnotations中,有4个特性可以用来应对一般的验证场合. 1.1 Required…
Html属性调用HTML辅助方法,Url属性调用URL辅助方法,Ajax属性调用Ajax辅助方法. HTML辅助方法 1.Html.BeginForm @using (Html.BeginForm("Search", " Home", FormMethod.Get)) { <input type="text" name="q" /> <input type="submit" name=&q…
什么是等角投影(isometric)? 原作者:菩提树下的杨过出处:http://yjmyzz.cnblogs.com 刚接触这个概念时,我也很茫然,百度+google了N天后,找到了一些文章: [转载]等角(斜45度)游戏与数学  ( 原文链接:http://www.javaeye.com/articles/1225) [转载]使用illustrator和正交投影原理以及基本三视图制图   (http://www.vanqy.cn/index.php/2009/03/working-with-…
三层架构之泛型应用 概述 1.命名约定 泛型类型以T开头或就是T. 2.泛型类 2.1.创建泛型类…
一.标识符: 1.区分大小写 2.命名规则: 第一个字符必须是一个字母.下划线(_)或一个美元符号($) 其他字符可以是字母.下划线.美元符号或数字 标识符中的字母也可以包含扩展的 ASCII 或 Unicode 字母字符(如 À 和 Æ) ,但不推荐这样做. 不能把关键字.保留字.true.false和null用作标识符 3.书写方式:最好按照驼峰大小写格式书写,就是第一个字母小写,剩下的每个单词的首字母大写,但不强制这么做二.注释(两种方式) 单行注释:// 多行注释:/*……*/ 三.严格…
python学习心得第三章 1.三元运算 变量=值1 if 条件 else 值2 由图如果条件成立则赋值1给变量,如果条件不成立则赋值2给变量. 2.数据类型 集合:set() class set(object): """ set() -> new empty set object set(iterable) -> new set object Build an unordered collection of unique elements. "&quo…
程序员编程艺术:第三章续.Top K算法问题的实现 作者:July,zhouzhenren,yansha.     致谢:微软100题实现组,狂想曲创作组.     时间:2011年05月08日     微博:http://weibo.com/julyweibo .     出处:http://blog.csdn.net/v_JULY_v .     wiki:http://tctop.wikispaces.com/. --------------------------------------…
<Dom Scripting>学习笔记 第三章 DOM 本章内容: 1.节点的概念. 2.四个DOM方法:getElementById, getElementsByTagName, getAttribute, setAttribute 节点   举例: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">…
The Road to learn React书籍学习笔记(第三章) 代码详情 声明周期方法 通过之前的学习,可以了解到ES6 类组件中的生命周期方法 constructor() 和 render() constructor() 构造函数只有在组件实例化并插入到 DOM 中的时候才会被调用.组件实例化的过程称为组件的挂载 mount render()方法也会在组件挂载过程中被调用,同时组件更新的时候也会被调用.每当组件的状态 state 和属性 props 改变的时候,组件的 render()…
[HeadFrist-HTMLCSS学习笔记]第三章构建模块:Web页面建设 敲黑板!! <q>元素添加短引用,<blockquote>添加长引用 在段落里添加引用就使用<q> 自成一段的引用就使用<blockquote> 不是所有浏览器都有相同的显示 块元素<block> <h1><h2>···<h6>和<blockquote>均是块元素 每个块元素都单独显示(分块显示) 内联元素<inli…
最近学习使用MVC5和EF6,博客园搜索了一番,写下这篇文章记录,以便学习使用. 一.ASP.NET MVC5 网站开发 @洞庭夕照写的博客系列 ASP.NET MVC5 网站开发实践 - 概述 ASP.NET MVC5 网站开发实践(一) - 项目框架 ASP.NET MVC5 网站开发实践(一) - 框架(续) 模型.数据存储.业务逻辑 ASP.NET MVC5 网站开发实践(二) - 用户部分(1)用户注册 ASP.NET MVC5 网站开发实践(二) - 用户部分(2)用户登录.注销 A…
个人从传统的CS应用开发(WPF)开始转向BS架构应用开发: 先是采用了最容易上手也是最容易搞不清楚状况的WebForm方式入手:到后面就直接抛弃了服务器控件的开发方式,转而采用 普通页面+Ajax+一般处理程序的方式: 虽然能快速开发一些小项目应用,但整体架构不可靠.代码冗余.操作界面不友好等等问题还是让我重新考虑应该认真系统的学习一个开发架构框架: 由于个人一直从C语言学习上来的,也没有碰过Java,所以自然而然的就只有选择 ASP.NET MVC这个开发框架:(也许在完成MVC的学习后,也…
BS