zoukankan      html  css  js  c++  java
  • Razor和HtmlHelper的使用意义

     

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

    一、区别ASPX和Razor

     

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

       1.ASP.net。

    如果选择ASPX,那么选择的引擎其实就是ASP.NET引擎。再说ASP.NET引擎前,先说说这几个问题

    什么是 ASP.NET?

    • ASP.NET 是微软 .NET 框架的主要部分

    • ASP.NET 是一种服务器端脚本技术:可以使(嵌入网页中的)脚本由Internet服务器执行。

    • 它是ASP和.NET技术的结合。提供基于组件、事件驱动的可编程网络表单,大简化了编程。

    • ASP.NET 是一种在 IIS 中运行的程序

         IIS (Internet Information Services) 是微软的 Internet 服务器

         IIS 是 Windows servers操作系统免费捆绑的组件

         IIS 也是 Windows 2000和 XP 专业版的组成部分

    什么是 ASP.NET文件?

    • ASP.NET 文件类似 HTML 文件,但是可以包含 HTML、XML以及脚本

    • ASP.NET 文件中的脚本在服务器上执行

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

      ASP.NET如何工作?

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

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

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

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

       

      2、Razor

    • 什么是Razor?

    Razor 是一种允许您向网页中嵌入基于服务器的代码(Visual Basic和 C#)的标记语法。由此也可以看出,Razor其实是一种服务器代码和HTML代码混写的代码模板,类似于没有后置代码的.aspx文件。

    • 文件类型

    Razor支持两种文件类型,分别是.cshtml和.vbhtml,其中.cshtml 的服务器代码使用了c#的语法,.vbhtml的服务器代码使用了vb.net的语法。

      

    • 工作:当网页被写入浏览器时,基于服务器的代码能够创建动态内容。在网页加载时,服务器在向浏览器返回页面之前,会执行页面内的基于服务器代码。由于是在服务器上运行,这种代码能执行复杂的任务,比如访问数据库。

      3、比较

       同:

    • 都可以实现向HTML中插入服务器代码的技术。

    • 执行顺序相同

    • 基于 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,其他的可以根据需要使用在Html和HtmlHelper中进行选择。

      4、形式

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

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

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

    希望对大家有帮助。

  • 相关阅读:
    服务端渲染
    node基础
    vue不同组件间的通信
    mui底部导航栏
    在mui中引入自定义的字体图标
    axios的使用
    vue多视图
    多元线性回归:波士顿房价预测问题TesnsorFlow实战
    MNIST手写数字识别:分类应用入门(实践篇)
    7-3 java高级 22_19寻找最大块的问题 (20 分)
  • 原文地址:https://www.cnblogs.com/wfy680/p/14272687.html
Copyright © 2011-2022 走看看