给asp.net mvc小白扫盲用的

cshtml是什么,what is cshtml?

在安装了WebMatrix以后,新建立的网站,发现有文件后缀为cshtml的文件。

没google到,怀疑和shtml一样,可能属于WebMatrix在shtml基础上的扩展的版本。

【1】Razor:

必须提到Razor

Razor是ASP.NET的新的视图引擎,可以查看ASP.NET的文件,展示给用户。

ASP.NET MVC 有几个视图引擎:默认使用的是Web Form,还有Spark 和NHaml,现在增加了Razor。

使用Razor,我们可以编辑一些界面文件。例如你可以编写.aspx ,也可以编写.cshtml 和.vbhtml ,对应于C#和VB这两种语言。

是Razor特有的文件格式。

ucing “Razor” – a new view engine for ASP.NET。

ASP.NET MVC has always supported the concept of “view engines” – which are the pluggable modules that implement different template syntax options.  The “default” view engine for ASP.NET MVC today uses the same .aspx/.ascx/.master file templates as ASP.NET Web Forms.  Other popular ASP.NET MVC view engines used today include Spark and NHaml.

For example, you could write some views using .aspx files, some with .cshtml or .vbhtml files (the file-extensions for Razor files – C# and VB respectively), and some with Spark or NHaml.

 

【1】页后缀html、htm、shtml、shtm有什么区别,shtml是什么,cshtml是什么,what is cshtml

【2】首先介绍一下html与htm 关于HTML,HTML(HyperTextMark-upLanguage)即超文本标记语言,是WWW的描述语言。设计HTML语言的目的是为了能把存放在一台电脑中的文本或图形与另一台电脑中的文本或图形方便地联系在一起,形成有机的整体,人们不用考虑具体信息是在当前电脑上还是在网络的其它电脑上。我们只需使用鼠标在某一文档中点取一个图标,Internet就会马上转到与此图标相关的内容上去,而这些信息可能存放在网络的另一台电脑中。

HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字、图形、动画、声音、表格、链接等。HTML的结构包括头部(Head)、主体(Body)两大部分,其中头部描述浏览器所需的信息,而主体则包含所要说明的具体内容。 关于HTM,实际上HTM与HTML没有本质意义的区别,只是为了满足DOS仅能识别8+3的文件名而已,因为一些老的系统(win32)不能识别四位文件名,所以某些网页服务器要求index.html最后一个l不能省略。MSIE能自动识别和打开这些文件,但编写网页地址的时候必须是完全对应的,也就是说index.htm和index.html是两个不同的文件,对应着不同的地址。值得一提的是UNIX系统中对大小写敏感,不吻合的话就可能报没有文件或者找不到文件。

其次介绍一下shtml和shtm 关于shtml,shtml是一种基于SSI技术的文件,也就是Server Side Include–SSI 服务器端包含指令,一些Web Server如果有SSI功能的话就会对shtml文件特殊招待,服务器会先扫一次shtml文件看没有特殊的SSI指令存在,如果有的话就按Web Server设定规则解释SSI指令,解释完后跟一般html一起调去客户端。 关于shtm,shtm与shtml的关系和htm与html的关系大致相似,这里就不多说了。 html或htm与shtml或shtm的关系是什么 html或者htm是一种静态的页面格式,也就是说不需要服务器解析其中的脚本,或者说里面没有服务器端执行的脚本,而shtml或者shtm由于它基于SSI技术,当有服务器端可执行脚本时被当作一种动态编程语言来看待,就如asp、jsp或者php一样。当shtml或者shtm中不包含服务器端可执行脚本时其作用和html或者htm是一样的。

参考资料:

http://www.cnxhacker.com/Article/other/art/200604/5693.html

http://weblogs.asp.net/scottgu/archive/2010/07/02/introducing-razor.aspx

时间: 2024-09-20 05:51:26

给asp.net mvc小白扫盲用的的相关文章

利用ASP.NET MVC源代码调试你的应用程序

之前写了一篇博客:利用.NET Framework4.0的源代码调试你的应用程序.那篇文章教你如何利用.NET Framework4.0的源代码帮助你调试应用程序,其实也就是进入.NET Framework4.0源代码进行单步调试.由于项目需要,最近学起asp.net mvc.昨天遇到ViewData和TempData他们之间的分别这样让我纠结的问题.有园友强烈建议我去看ASP.NET MVC的源代码.所以,我想到如何在调试ASP.NET MVC程序的时候,有不明白的地方,就单步进入ASP.NE

初探ASP.NET MVC框架

MVC (Modal View Controller)本来是存在于Desktop程序中的,M是指数据模 型,V是指用户界面,C则是控制器,即三个核心部件.它是一个设计模式,它强 制性的使应用程序的输入.处理和输出分开. 那么,为什么要使用MVC呢?大部分Web应用程序都是用像ASP.PHP.或者 CFML这样的过程化语言来创建的.它们将像数据库查询语句这样的数据层代码和 像HTML这样的表示层代码混在一起.经验丰富的开发者会将数据从表示层分离开 来,但这通常不是很容易做到的,而 MVC从根本上可

聊天-ASP.net MVC的一个项目里可以使用Node.js做的应用吗?

问题描述 ASP.net MVC的一个项目里可以使用Node.js做的应用吗? 20C 是这样的,最近我们小组在做一个ASP.net MVC 的项目网页,里面有个即时网络聊天室的功能要实现,我看到用Node.js做好像很不错,但是就是不知道.net的项目可以使用吗?

在ASP.NET MVC中通过URL路由实现对多语言的支持

对于一个需要支持多语言的Web应用,一个很常见的使用方式就是通过请求地址来控制界面呈现所基于的语言文化,比如我们在表示请求地址的URL中将上语言文化代码(比如en或者en-US)来指导服务器应该采用怎样的语言来显示界面的内容.对于一个ASP.NET MVC应用来说,我们很容易通过URL路由来实现这样一个功能. 在具体介绍实现之前,我们通过一个简单的例子谈谈最终实现的效果.在通过ASP.NET MVC项目模板创建的空Web应用中,我们创建了如下一个HomeController,默认的Action方

ASP.NET MVC的运行机制

一.ASP.NET + MVC IIS与ASP.NET管道 MVC.MVP以及Model2[上篇] MVC.MVP以及Model2[下篇] ASP.NET MVC是如何运行的[1]: 建立在"伪"MVC框架上的Web应用 ASP.NET MVC是如何运行的[2]: URL路由 ASP.NET MVC是如何运行的[3]: Controller的激活 ASP.NET MVC是如何运行的[4]: Action的执行 二.URL 路由 ASP.NET的路由系统:URL与物理文件的分离 ASP.

ASP.NET MVC中实现多个按钮提交的几种方法

有时候会遇到这种情况:在一个表单上需要多个按钮来完成不同的功能,比如一个简单的审批功能. 如果是用webform那不需要讨论,但asp.net mvc中一个表单只能提交到一个Action处理,相对比较麻烦点. 方法一:使用客户端脚本 比如我们在View中这样写: 代码<inputtype="submit"value="审核通过"onclick='this.form.action="<%=Url.Action("Action1"

安装ASP.NET MVC时出现错误提示是:0x80070643

问题描述 安装ASP.NET MVC时出现错误提示是:0x80070643 安装ASP.NET MVC时出现错误提示是:one or more issues caused the setup to fail.please fix the issues and then retry setup.formore information see the log file 解决方案 那需要看日志文件才能判断是什么错误了. 首先检查你的系统软件环境是否正确,比如MVC 1.0需要.NET 3.5.1,MV

asp.net MVC项目中 没有easyui插件的智能提示

问题描述 asp.net MVC项目中 没有easyui插件的智能提示 5C vs2015 中的mvc4项目,已经分别把jQuery.min.js jquery.easyui.min.jseasyui-lang-zh_CN.js依次拖入,写js代码的时候 智能提示只有jquery中的属性和方法 没有easyui的(例如$.messager就出不来智能提示),但是可以正常执行出来插件效果,尝试编辑cshtml.html格式的文件都不提示,尝试把 jquery.easyui.min.js的文件名改为

给ASP.NET MVC及WebApi添加路由优先级(1)

一.为什么需要路由优先级 大家都知道我们在Asp.Net MVC项目或WebApi项目中注册路由是没有优先级的,当项目比较大.或有多个区域.或多个Web项目.或采用插件式框架开发时,我们的路由注册很可能 不是写在一个文件中的,而是分散在很多不同项目的文件中,这样一来,路由的优先级的问题就突显出来了. 比如: App_Start/RouteConfig.cs中 routes.MapRoute(      name: "Default",      url: "{controll