给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