写这篇文档的目的是为了给初学MVC的同伴们介绍在MVC的View中的两个新概念,能有利于我们更快,更好的开发项目。一个是视图引擎,一个是HtmlHlper。这两个知识都不是新的。知识概念新而已。都是在我们学过的ASPX和 Html上做了改进。是我们编程更加easy。
在ASP.NET MVC模式中,我们的视图引擎选择有两种:ASPX(ASP.NET),Razor。
假设选择ASPX,那么选择的引擎事实上就是ASP.NET引擎。再说ASP.NET引擎前。先说说这几个问题
什么是 ASP.NET?
ASP.NET 是微软 .NET 框架的主要部分
ASP.NET 是一种server端脚本技术:能够使(嵌入网页中的)脚本由Internetserver运行。
它是ASP和.NET技术的结合。
提供基于组件、事件驱动的可编程网络表单,大简化了编程。
ASP.NET 是一种在 IIS 中执行的程序
IIS (Internet Information Services) 是微软的 Internet server
IIS 是 Windows servers操作系统免费捆绑的组件
IIS 也是 Windows 2000和 XP 专业版的组成部分
什么是 ASP.NET文件?
ASP.NET 文件类似 HTML 文件。可是能够包括 HTML、XML以及脚本
ASP.NET 文件里的脚本在server上运行
ASP.NET 文件的文件后缀是 ".aspx"
ASP.NET怎样工作?
当浏览器请求 HTML文件时,server会返回该文件
当浏览器请求 ASP.NET文件时,IIS 会把该请求传递给server上的 ASP.NET引擎
ASP.NET 引擎会逐行地读取该文件,并运行文件里的脚本
最后,ASP.NET文件会以纯 HTML 的形式返回浏览器
什么是Razor?
Razor 是一种同意您向网页中嵌入基于server的代码(Visual Basic和 C#)的标记语法。
由此也能够看出,Razor事实上是一种server代码和HTML代码混写的代码模板。类似于没有后置代码的.aspx文件。
文件类型
Razor支持两种文件类型,各自是.cshtml和.vbhtml,当中.cshtml 的server代码使用了c#的语法,.vbhtml的server代码使用了vb.net的语法。
工作:当网页被写入浏览器时,基于server的代码可以创建动态内容。在网页载入时,server在向浏览器返回页面之前,会运行页面内的基于server代码。因为是在server上运行。这样的代码能运行复杂的任务。比方訪问数据库。
同:
都能够实现向HTML中插入server代码的技术。
运行顺序同样
基于 ASP.NET
特长:
Razor它是为 web 应用程序的创建而设计,特别是在MVC3中推出。服务于MVC模式。
它拥有传统 ASP.NET 标记的能力,但较ASP.NET语法简单,更易使用,也更易学习。
结语:
所以,这次开发的MVC模式项目,个人建议使用Razor作为开发的视图引擎。
Razor的相关语法。与使用參考。
使用语法文档说明
參考站点:http://www.w3cschool.cc/aspnet/razor-intro.html
功能:生成有数据绑定的Html标签。
为什么会出现? 很多时候我们会遇到例如以下场景在写一个编辑数据的页面时,我们一般会写例如以下代码<input type="text" value=‘<%=ViewData["title"]%>‘ name ="title" />。于是我们思考,对于这样的代码我们是不是也能够用一个Helper来自己主动绑定数据呢?这当然是能够的。ASP.NET MVC提供了一个HtmlHelper用于生成有数据绑定的Html标签。看,这个类没有什么特别的吧。就是辅助我们使用Html进行编程的一个工具类。在MVC模式中。在View中,我们能够直接通过这个工具类(HtmlHelper)来读取数据实体值,给Html标签赋值。
3、在View中是不是都得使用HtmlHlper?
主要是须要数据绑定的Html标签。比方表单与Models的绑定,所以在MVC中表单和链接还是推荐用HtmlHelper,其它的能够依据须要使用在Html和HtmlHelper中进行选择。
4、形式
类似通过Html.TextBox()的形式取到的Html标签。
使用參考: http://www.cnblogs.com/jyan/archive/2012/07/23/2604474.html
既然针对MVC。微软做了这么多贴心的工作,那么肯定是有利于MVC 的,能够帮助我们更快,更好的开发项目,我们就要去努力使用它。
希望对大家有帮助。
原文:http://www.cnblogs.com/mengfanrong/p/5054855.html