Razor和HtmlHelper的使用意义
Razor和HtmlHelper的使用意义
写这篇文档的目的是为了给初学MVC的同伴们介绍在MVC的View中的两个新概念,能有利于我们更快,更好的开发项目。一个是视图引擎,一个是HtmlHlper。这两个知识都不是新的。知识概念新而已。都是在我们学过的ASPX和
Html上做了改进。是我们编程更加easy。
一、差别ASPX和Razor
在ASP.NET MVC模式中,我们的视图引擎选择有两种:ASPX(ASP.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 serverIIS
是 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 的形式返回浏览器
2、Razor
什么是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类
功能:生成有数据绑定的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 的,能够帮助我们更快,更好的开发项目,我们就要去努力使用它。
希望对大家有帮助。
Razor和HtmlHelper的使用意义的更多相关文章
- Razor及HtmlHelper学习笔记
Razor 不是编程语言.它是服务器端标记语言. 什么是Razor? Razor 是一种允许您向网页中嵌入基于服务器的代码(Visual Basic 和 C#)的标记语法. 当网页被写入浏览器时,基于 ...
- 在AppCode中的razor调用HtmlHelper方法和UrlHelper方法
原文发布时间为:2011-05-17 -- 来源于本人的百度文章 [由搬家工具导入] 可以写一个帮助类,如下 using System.Web.WebPages;using System.Web.Mv ...
- ASP.NET,Razor语句中@符号的意义
比较下面两段代码的区别: <td> @if (item.ModifyTime.HasValue) { @item.ModifyTime.GetValueOrDefault().ToStri ...
- ASP.NET MVC 5 05 - 视图
PS: 唉,这篇随笔国庆(2015年)放假前几天开始的,放完假回来正好又赶上年底,公司各种破事儿. 这尼玛都写跨年了都,真服了.(=_=#) 好几次不想写了都. 可是又不想浪费这么多,狠不下心删除.没 ...
- C# MVC 实现登录的5种方式
最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷. 学无止境,精益求精 小弟之前做过三月的MVC,后来又一直webFo ...
- 把旧系统迁移到.Net Core 2.0 日记(5) Razor/HtmlHelper/资源文件
net core 的layout.cshtml文件有变化, 区分开发环境和非开发环境. 开发环境用的是非压缩的js和css, 正式环境用压缩的js和css <environment includ ...
- ASP.NET MVC Razor HtmlHelper扩展和自定义控件
先看示例代码: using System; using System.Collections.Generic; using System.Linq; using System.Web; using S ...
- ASP.NET Core 中文文档 第四章 MVC(3.2)Razor 语法参考
原文:Razor Syntax Reference 作者:Taylor Mullen.Rick Anderson 翻译:刘怡(AlexLEWIS) 校对:何镇汐 什么是 Razor? Razor 是一 ...
- 如何在ASP.NET Web站点中统一页面布局[Creating a Consistent Layout in ASP.NET Web Pages(Razor) Sites]
如何在ASP.NET Web站点中统一页面布局[Creating a Consistent Layout in ASP.NET Web Pages(Razor) Sites] 一.布局页面介绍[Abo ...
随机推荐
- Java NIO内存映射---上G大文件处理(转)
林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要讲了java中内存映射的原理及过程,与传统IO进行了对比,最后,用实例说明了结果 ...
- mysql 插入Emoji表情报错
今天做的了个获取微信粉丝的功能,发现将昵称插入数据库报错.长度肯定是够的 Incorrect string value: '\xF0\x9F\x98\x84\xF0\x9F 找了点资料发现UTF-8编 ...
- 希尔排序----java实现
思路:希尔排序是分组基础上的直接插入排序,给定的一个步长数组,每个小组先直接插入排序.虽然有四次循环,但是每次循环次数少. package com.sheepmu.text; import java. ...
- Android - 数据存储 -存储文件
Android使用的文件系统和其他平台的基本磁盘的文件系统很相似.这里将要介绍如何使用File API在Android文件系统中读写文件. File对象适合按顺序读写大量的数据.例如,适合图片文件或者 ...
- Android-管理Activity生命周期 -暂停和恢复一个Activity
在正常的使用app时,前台的activity有时候会被可见的组件阻塞导致activity暂停.比如,当打开一个半透明的activity(就像打开了一个对话框),之前的activity就会暂停.只要ac ...
- uploadify控制 上传图片到百度云存储
最近使用uploadify 控制图片上传到百度网盘....总的想法是 招待会uploadify获取文件传入后台,调用百度云存储api上传到百度网盘,返回url 联系.送存储在数据库中的链接.因此,我们 ...
- 讲座:采用Store检查邮件(1)
讲座:采用Store检查邮件(1) 一.邮件接收的体系结构 JavaMail API中定义了一个java.mail.Store类,用于运行邮件的接收任务,该类的实例对象封装了某种邮件接收协议的底层实施 ...
- Windows无法启动OracleOraDb10g_home1TNSListener维修,1错误067
Oracle服务无法启动,据报:Windows无法启动OracleOraDb10g_home1TNSListener维修,错误 1067:这个过程意外终止. 在网上找了好久也没弄好.说什么环境变量的又 ...
- C++输出数据到txt
平时总遇到将数据写到txt中的情况,尤其是在调试程序看中间结果时,所以将代码保存下来,方便以后应用: ofstream outfile; string InitialFileName("In ...
- 【Swift】学习笔记(四)——设置(Collection)
Swift和其他语言也提供了两种类型的集合:数组和字典 数组:数组用来按顺序存储同样类型的数据,swift规定它是类型安全的,每个数组都有自己的类型也就是其它语言所说的泛型. 创建数组: 1.var ...