ASP.NET MVC4 乱七八糟罗列
一、ASP.NET MVC概述
1、什么是ASP.NET MVC?
ASP.NET MVC是微软官方提供的MVC模式编写ASP.NET Web应用程序的一个框架。
是微软继ASP.NET WebForm后的又一种开发方式,而非替代方式。
2、官方网站和源码网站?
官方网站:http://www.asp.net/mvc
源码网站:http://aspnet.codeplex.com/wikipage?title=MVC
3、ASP.NET MVC的特点?
1)、分离任务
2)、可扩展
3)、强大的URL重写(路由)机制
4)、兼容ASP.NET现有的技术
5)、开源
4、ASP.NET MVC的优点?
1)、通过把项目分为model、view和controller,使得复杂项目更加容易维护。
2)、没有使用viewstate和服务器表单控件,可以更方便的控制应用程序的行为。
3)、应用程序通过controller来控制程序请求,可以提供丰富的url重写。
4)、支持测试驱动开发,英文全称Test-Driven Development,简称TDD,是一种不同于传统软件开发流程的新型的开发方法。它要求在编写某个功能的代码之前先编写测试代码,然后只编写使测试通过的功能代码,通过测试来推动整个开发的进行。这有助于编写简洁可用和高质量的代码,并加速开发过程。
5)、在团队模式下表现更加出众。
5、为什么我们需要ASP.NET MVC?
1)、关注点分离
2)、高扩展性
3)、更好的可测试性
4)、更好的URL重写
5)、更好的性能
6)、更加灵活的HTML代码控制
...
6、Razor视图引擎?
Razor视图引擎是对以代码为焦点的方法实现,其特点如下:
1)、简洁、富于表现、流畅,尽量减少编写一个视图模板所需要敲入的字符数,实现快速流畅的编程工作。不必为了明确标记出服务模块的开始和结束而中断编程,Razor解析器能从你的代码中自动推断出来。
2)、易于学习,熟悉现有的编程语言和HTML技能就能快速学会。
3)、可以在任何文本编辑器中工作。
4)、VS IDE对其增加了智能提示。
5)、支持单元测试。
7、ASP.NET MVC请求处理过程?
8、ASP.NET MVC3与MVC4 知识点?
9、ASP.NET MVC与Web Form区别?
二、ASP.NET MVC编程要点
1、@Html.DisplayNameFor(mode=>model.Name),默认会直接输出属性名称,如果属性名称想要显示中文,可在类属性定义一个System.ComponentModel下DisplayName属性,如:
[DisplayName(“名称”)]
public string Name {get;set;}
使用Razor语法输出属性,默认所有数据都会使用HTML编码(HtmlEncode)输出,这是出于程序安全考虑,可避免网页遭受跨网站脚本攻击(Cross-Site ScriptingAttach)。
2、@model IEnumerable<命名空间.类名>
3、@{ ViewBag.Title=”页面标题”;}
4、@Html.ActionLink(“Create New”,”Create”)
5、@Html.ActionLink(“Edit”,”Edit”,new{id=item.Id})
用来输出超链接,第一个参数是链接显示文字,第二个参数是链接的目的Action名称,第三个参数代表路由参数id。这样MVC在输出超链接时,会加上要传给下一页的路由参数,MVC知道传入{controller}与{action}路由参数外,还给予{id}路由值。
Controller里有两个同名的方法,一个给HTTP GET方法用的,另一个是给HTTP POST方法用的。有HttpPost属性的会告知MVC框架此动作只会接收HTTP POST过来的信息,这个属性称为动作过滤器(Action Filter)或者动作选择器(Action Selector)。
// GET: /Home/Create
public ActionResultCreate()
{
return View();
}
// POST: /Home/Create
[HttpPost]
public ActionResultCreate(Collectorcollector)
{
if (ModelState.IsValid)
{
db.Collectors.Add(collector);
db.SaveChanges();
returnRedirectToAction("Index");
}
returnView(collector);
}
6、Html.BeginForm()方法,该辅助方法将会输出<form>标签,而且必须以using包起来,如此便可在using程序代码最后退出后,让MVC补上</form>标签。
@using (Html.BeginForm()) {}
@Html.ValidationSummary(true)用来显示当表单域发生验证失败时,显示的错误消息。
@Html.LabelFor(model=>model.Name)用来显示特定字段的显示名称,会输出包含<label>标签的域名,它与@Html.DisplayNameFor(model=>model.Name)的区别如下图所示:
@Html.EditorFor用于输出表单域
@Html.ValidationMessageFor用于显示字段验证的错误消息。
在Model类中,需要必填属性上加一个System.ComponentModel.DataAnnotations命名空间下的Required属性,如下所示:
[Required]
public string Name {get;set;}
这是MVC引入了一种Unobtrusive的JavaScript开发风格。
跳转Action,当前Action名为Create,语法如下:
return RedirectToAction(“Index”);
ModelState.IsValid用来判断在模型(Model)的验证状态是否有效,如果验证都没有问题,就可以利用Entity Framework标准的方法将数据写入数据库。
@Html.HiddenFor(model=>model.ID),该辅助方法主要用来生成HTML窗体的隐藏域。
路由Routing---网址路由,主要有2个目的:
1)、比对通过浏览器传过来的HTTP请求。
2)、响应适当的网址给客户端浏览器。
客户端请求->URI Routing->Route->RouteHandler->HttpHandler
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
所有*.axd结尾的网址通常都代表着其中一个HttpHandler,如在ASP.NET WebForm中常用的WebResource.axd就是其中一个常见的HttpHandler。为了不让MVC把这些*.axd的HttpHandler视为MVC运行起来,所以必须添加这条IgnoreRoute规则,将其排除在MVC运行生命周期之外。
ASP.NET MVC4 乱七八糟罗列相关推荐
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(12)-系统日志和异常的处理②...
原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(12)-系统日志和异常的处理② 上一讲我们做了日志与异常的结果显示列表,这一节我们讲要把他应用系统中来. ...
- ASP.NET MVC4中调用WEB API的四个方法
当今的软件开发中,设计软件的服务并将其通过网络对外发布,让各种客户端去使用服务已经是十分普遍的做法.就.NET而言,目前提供了Remoting,WebService和WCF服务,这都能开发出功能十分强 ...
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(31)-MVC使用RDL报表
原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(31)-MVC使用RDL报表 这次我们来演示MVC3怎么显示RDL报表,坑爹的微软把MVC升级到5都木有良 ...
- .ne中的控制器循环出来的数据如何显示在视图上_Web程序设计-ASP.NET MVC4数据库操作实例...
ASP.NET MVC4数据库操作实例 之前文章介绍了MVC4与Pure框架结合进行的网页设计过程中如何定义控制器.方法.模型.视图等.并使用实例进行了简单说明.本文将在此基础上进一步说明如何使用MV ...
- 【翻译转载】【官方教程】Asp.Net MVC4入门指南(2):添加一个控制器
2. 添加一个控制器 · 原文地址:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-c ...
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(32)-swfupload多文件上传[附源码]...
原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(32)-swfupload多文件上传[附源码] 文件上传这东西说到底有时候很痛,原来的asp.net服务器 ...
- Asp.Net MVC4入门指南(3):添加一个视图
在本节中,您需要修改HelloWorldController类,从而使用视图模板文件,干净优雅的封装生成返回到客户端浏览器HTML的过程. 您将创建一个视图模板文件,其中使用了ASP.NET MVC ...
- ASP.NET MVC4中@model使用多个类型实例的方法
有时需要在ASP.NET MVC4的视图的@model中使用多个类型的实例,.NET Framework 4.0版本引入的System.Tuple类可以轻松满足这个需求. 假设Person和Produ ...
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(39)-在线人数统计探讨
原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(39)-在线人数统计探讨 系列目录 基于web的网站在线统计一直处于不是很精准的状态!基本上没有一种方法可 ...
- 安装asp.net mvc4后mvc3项目编译报错
安装asp.net mvc4之后,之前的mvc3项目编译时报这个错"The type System.Web.Mvc.ModelClientValidationRule exists in b ...
最新文章
- 该如何对「半监督学习算法」实际性应用进行评估?Google给出了新答案
- 【采用】互联网金融风控模型的设计
- 信息检索(IR)的评价指标介绍-准确率、召回率、F1、mAP、ROC、AUC
- Appboy 基于 MongoDB 的数据密集型实践
- leetcode-3-无重复字符的最长子串
- 自动驾驶 8-0: 状态估计的重要 The Importance of State Estimation
- VS2013产品密钥
- python 豆瓣评论分析方法_基于Python的豆瓣影评分析——数据预处理
- 各学科领域入门书籍推荐
- lte tm模式_请教大家个问题,LTE传输模式TM1-TM8中哪种属于MIM.. - 通信技术你问我答 - 
纯技术讨论者的天地 - Powered by C114...
- [轉貼]奋斗5年从月薪3500到700万!
- Win XP iis组件补丁(ghost xp)iis5.1
- nginxWebUI :nginx可视化配置工具---实践
- 阿里云服务搭建微信小程序开发环境
- 华为笔记本键盘说明图_没有键盘的笔记本:华为 MateBook上手图赏
- ubuntu下u盘变成只读模式
- linux下搭建游戏服务器运行环境
- oracle utl inaddr,oracle11gr2中ACL对UTL_INADDR的授权报错,急急急
- 32.768K的晶振用途
- python词频统计小项目