Razor和HtmlHelper的使用意义

 RazorHtmlHelper的使用意义

 

写这篇文档的目的是为了给初学MVC的同伴们介绍在MVCView中的两个新概念,能有利于我们更快,更好的开发项目。一个是视图引擎,一个是HtmlHlper。这两个知识都不是新的。知识概念新而已。都是在我们学过的ASPX Html上做了改进。是我们编程更加easy。

一、差别ASPXRazor

 

ASP.NET MVC模式中,我们的视图引擎选择有两种:ASPXASP.NET),Razor

   1.ASP.net

假设选择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 文件。可是能够包括 HTMLXML以及脚本

  • ASP.NET 文件里的脚本在server上运行

  • ASP.NET 文件的文件后缀是 ".aspx"

    ASP.NET怎样工作?

        当浏览器请求 HTML文件时,server会返回该文件

        当浏览器请求 ASP.NET文件时,IIS 会把该请求传递给server上的 ASP.NET引擎

       ASP.NET 引擎会逐行地读取该文件,并运行文件里的脚本

        最后,ASP.NET文件会以纯 HTML 的形式返回浏览器

     

  2Razor

  • 什么是Razor

Razor 是一种同意您向网页中嵌入基于server的代码(Visual Basic C#)的标记语法

由此也能够看出,Razor事实上是一种server代码和HTML代码混写的代码模板。类似于没有后置代码的.aspx文件。

  • 文件类型

Razor支持两种文件类型,各自是.cshtml.vbhtml,当中.cshtml 的server代码使用了c#的语法,.vbhtml的server代码使用了vb.net的语法。

  

  • 工作:当网页被写入浏览器时,基于server的代码可以创建动态内容。在网页载入时,server在向浏览器返回页面之前,会运行页面内的基于server代码。因为是在server上运行。这样的代码能运行复杂的任务。比方訪问数据库。

  3、比較

   同:

  • 都能够实现向HTML中插入server代码的技术。

  • 运行顺序同样

  • 基于 ASP.NET

 

  特长:

  • Razor它是为 web 应用程序的创建而设计,特别是在MVC3中推出。服务于MVC模式

  • 它拥有传统 ASP.NET 标记的能力,但较ASP.NET语法简单,更易使用,也更易学习。

  结语

   所以,这次开发的MVC模式项目,个人建议使用Razor作为开发的视图引擎。

   Razor的相关语法。与使用參考。

使用语法文档说明

參考站点:http://www.w3cschool.cc/aspnet/razor-intro.html

二、HtmlHelper

  1. 功能:生成有数据绑定的Html标签。

  2. 为什么会出现?                                                                       很多时候我们会遇到例如以下场景在写一个编辑数据的页面时,我们一般会写例如以下代码<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,其它的能够依据须要使用在HtmlHtmlHelper中进行选择。


  4、形式

 

    类似通过Html.TextBox()的形式取到的Html标签。

使用參考:   http://www.cnblogs.com/jyan/archive/2012/07/23/2604474.html

既然针对MVC。微软做了这么多贴心的工作,那么肯定是有利于MVC 的,能够帮助我们更快,更好的开发项目,我们就要去努力使用它。

希望对大家有帮助。

 


posted @ 2015-12-17 17:53  mengfanrong  阅读(648)  评论(0编辑  收藏  举报