网站平台建设心得,龙岩市住房和城乡建设厅网站首页,西安网站制作计划,网店代运营公司哪家好From: http://www.cnblogs.com/dengxinglin/p/3352078.html Razor是基于framewor4以上写的一个开源项目#xff1a;https://github.com/Antaris/RazorEngine/ Razor是包含了模板引擎和动态编译两部分。本部分就简单记录了模板引擎的一些语法#xff0c;之后用Razor做一个代码…From: http://www.cnblogs.com/dengxinglin/p/3352078.html Razor是基于framewor4以上写的一个开源项目https://github.com/Antaris/RazorEngine/ Razor是包含了模板引擎和动态编译两部分。本部分就简单记录了模板引擎的一些语法之后用Razor做一个代码生成器就使用Razor的语法来。 Razor的发布是和MVC一起的作为MVC的视图模板引擎。 Razor文件类型 Razor可以在vb.net和C#中使用。分别对应了两种文件类型.vbhtml和.cshtml Razor的标识符 字符被定义为Razor服务器代码块的标识符后面的表示是服务器代码了。web form中使用%%中写服务器代码一个道理。在vs工具里面提供了代码着色和智能感应的功能。如下面代码 {string userName 邓星林;}spanuserName/spanspanDateTime.Now.ToString(yyyy-MM-hh)/span Razor的作用域 在上面一个例子中都已经使用到了大括号{}不错大括号里面的就是表示作用域的范围用形如{code}来写一段代码块。 {string userName 邓星林;userName
} 在作用域(代码块)中输出也是用符号的。 用Razor和html代码混合编写 在Razor中写html代码和html代码中写Razor语句都是可以的并且还有智能提示。 a.在作用域内如果是以html标签开始则视为文本输出 b.如果要输出则使用 c.如果要输出非html标签和非Razor语句的代码则用:他的作用是相当于在处于html下面编写一样了如在后面可以加上就是表示Razor语句的变量 如 {var str abc;////下面会输出this is a maildxl0321qq.com, this is var: abc,this is mailstr,this is : this is a maildxl0321qq.com, this is var: str,this is mailstr,this is //下面输出abcstr} Razor作用块注释 razor作用块里面本身就是服务器代码了因此可使用服务器代码的注释注释有//和/**/分别是单行注释和多行注释。 另外razor注释还可以使用自身特有的* 注释的内容 *支持单行和多行的。 {*多行注释多行注释*var i 10; * asdfasf *
} Razor类型转换 As系列扩展方法和Is系列扩展方法 AsInt(), IsInt() AsBool(),IsBool() AsFloat(),IsFloat() AsDecimal(),IsDecimal() AsDateTime(),IsDateTime() ToString() {var i “10”;
}
p i i.AsInt() /p !-- 输出 i 10 -- razor其它 Href(~/)//表示网站的根目录 Html.Raw(Module.Content) 输出HTML如Html.Raw(font colorred红字/font)就会显示出红色的”红字“不用的话会直接显示这段html字符串font colorred红色文字/font 在实际中比如一个网站整过框架是一样的而有的地方是很多相同的版块。因此我们需要复用。 布局Layout layout方式布局就是相当于一个模板一样的我们在它地址地方去添加代码。相当于定义好了框架作为一个母版页的在它下面的页面需要修改不同代码的地方使用RenderBody()方法 !DOCTYPE html
html langenheadmeta charsetutf-8/title我的网站 - Page.Title/title/headbodyRenderBody()/body
/html {Layout /LayoutPage.cshtml;Page.Title 测试页面哦;
}pThis is a layout test/p 页面Page page是当需要在一个页面中输出另外一个razor文件的内容时候用到比如头部或者尾部这些公共的内容时候需要用到。输出就使用 RenderPage()方法 如A页面中也要把B页面的内容输出 A页面 pRenderPage(/b.cshtml)
/p b页面的代码如下 font colorred这是一个子页面/font Section区域 Section是定义在Layou的中使用的。在Layout的页面中用。在要Layout的父页面中使用RenderSection(Section名称 ) 定义 !DOCTYPE html
html langenheadmeta charsetutf-8/title我的网站 - Page.Title/title/headbody RenderSection(SubMenu)RenderBody()/body
/html 在它的子页面中使用 section SubMenu{Hello This is a section implement in About View.} 如果在子页面中没有去实现了SubMenu了则会抛出异常。我们可以它的重载RenderSection(SubMenu, false) if (IsSectionDefined(SubMenu)){RenderSection(SubMenu, false)}else{pSubMenu Section is not defined!/p} Helper helper就是可以定义可重复使用的帮助器方法不仅可以在同一个页面不同地方使用还可以在不同的页面使用。 如在cshtml中那么写 helper sum(int a,int b)
{ var resultab;result }
div phelper的语法/p p23sum(2,3)/p p59sum(5,9)/p
/div 我们通常会把一类Helper放在一个单独的cshtml文件中而文件名就相当于一个类名。 我把sum放在HelpMath.cshtml文件中则我们在那上面cshtml中的使用方法是: p23HelpMath.sum(2,3)/p
p59HelpMath.sum(5,9)/p 另外系统还为我们提供了一些列的Helper用来简化Html的书写。这些Helper放在Html中我们可以方便的使用 pHtml.TextBox(txtName)
/p 本文页面来源地址http://www.cnblogs.com/dengxinglin/p/3352078.html