MVC学习-View(1)-Razor视图引擎
2015-11-07 19:19
218 查看
它就是一个尖括号生成器--微软项目经理(Scott Hanselman)
1.特点:
(1)紧凑,富有表现力和流畅
(2)上手快
(3)不是新编程语言
(4)可以使用任何文本编辑器编写
(5)智能感应输入提示
(6)便于单元测试
2.语法:
(1)语句结束符,在“@{/*代码体*/}”代码块内的代码每一行必须以“;”结束,而“@xxx”不需要。
(2)大小写敏感
(3)字符类型常量必须以双引号“”包括。
(4)注释:"//..."单行注释,“@*...*@”,“/*...*/”多行注释。
(5)局部变量:(不支持访问修饰符)
在单行上定义局部变量:
@{var total=7;}
@{var mystr="hello world";}
在多行上定义局部变量:
@{var str=“。。。”;
var str2="...";
}
在上下文中使用变量:
<p>the count is:@total</p>
<p>the message is:@mystr</p>
(6)在@{}内部可以使用任意html标记
(7)文本输出:
单行输出:@{@:你好;
@:你好;
}
多行输出:@{<text>
文本
文本
</text>
}
(8)支持if语句,for循环,while循环,foreach循环。
(9)类型转换方法:AsInt(),IsInt(),AsBool(),IsBool()...
(10)在Razor视图引擎页面可以引用.net框架提供的类库,当然也可以引用自己编写的类库。
3.Layout布局系统
Layout页面文件一般应放在Views/Shared文件夹下。
引用方法:@{
Layout="~/Views/Shared/_LayoutPage1.cshtml";
}
布局文件中可以包含很多节,使用@RenderSection()加入节,该方法有两种重载方法:@RenderSection(string name),@RenderSection(string name,bool requied)。注意@RenderBody()能出现一次,@RenderSection()可以出现多次。
4.ViewStart
Razor视图引擎提供了ViewStart功能,使用该功能可以不需要再每个视图中显式设置布局的新功能,而是能一次性定义网站内所有视图的布局逻辑,可让视图文件更干净,也更容易维护。ViewStart功能在名为“_ViewStart.cshtml”的文件中实现,其中的代码会先于放在任何其他视图的代码被执行,里面有默认生成的代码:@{Layout="~/Views/Shared/_Layout.cshtml";}
5.部分视图(Partial Views)
有点类似于aspx视图引擎中的用户控件,使用部分视图可以创建放置于不同页面的通用部分。创建方法有两种:一,在文件夹Views中用鼠标右击,选择命令“添加|Views”,按照提示创建部分视图;二,单击对应的行为方法,选择命令“Add View”,按照提示创建部分视图,新创建的部分视图是空白的,不包含任何代码,可以使用Html.Partial()方法把部分视图添加到视图中。
6.子行为
子行为是在一个视图中调用的行为方法,子行为与行为之间的关系如同部分视图与视图一样。子行为可以避免在应用程序中反复调用控制器。示例代码:
[ChildActionOnly]
public ActionResult SubMessage(){
return PartialView();
}
ChildActionOnly属性不是必须的,任何行为方法都可以作为子行为被调用,但是ChildActionOnly属性标记了一个行为只能在视图中作为子行为被调用,在视图中,用Html.Action()方法来调用子行为。
1.特点:
(1)紧凑,富有表现力和流畅
(2)上手快
(3)不是新编程语言
(4)可以使用任何文本编辑器编写
(5)智能感应输入提示
(6)便于单元测试
2.语法:
(1)语句结束符,在“@{/*代码体*/}”代码块内的代码每一行必须以“;”结束,而“@xxx”不需要。
(2)大小写敏感
(3)字符类型常量必须以双引号“”包括。
(4)注释:"//..."单行注释,“@*...*@”,“/*...*/”多行注释。
(5)局部变量:(不支持访问修饰符)
在单行上定义局部变量:
@{var total=7;}
@{var mystr="hello world";}
在多行上定义局部变量:
@{var str=“。。。”;
var str2="...";
}
在上下文中使用变量:
<p>the count is:@total</p>
<p>the message is:@mystr</p>
(6)在@{}内部可以使用任意html标记
(7)文本输出:
单行输出:@{@:你好;
@:你好;
}
多行输出:@{<text>
文本
文本
</text>
}
(8)支持if语句,for循环,while循环,foreach循环。
(9)类型转换方法:AsInt(),IsInt(),AsBool(),IsBool()...
(10)在Razor视图引擎页面可以引用.net框架提供的类库,当然也可以引用自己编写的类库。
3.Layout布局系统
Layout页面文件一般应放在Views/Shared文件夹下。
引用方法:@{
Layout="~/Views/Shared/_LayoutPage1.cshtml";
}
布局文件中可以包含很多节,使用@RenderSection()加入节,该方法有两种重载方法:@RenderSection(string name),@RenderSection(string name,bool requied)。注意@RenderBody()能出现一次,@RenderSection()可以出现多次。
4.ViewStart
Razor视图引擎提供了ViewStart功能,使用该功能可以不需要再每个视图中显式设置布局的新功能,而是能一次性定义网站内所有视图的布局逻辑,可让视图文件更干净,也更容易维护。ViewStart功能在名为“_ViewStart.cshtml”的文件中实现,其中的代码会先于放在任何其他视图的代码被执行,里面有默认生成的代码:@{Layout="~/Views/Shared/_Layout.cshtml";}
5.部分视图(Partial Views)
有点类似于aspx视图引擎中的用户控件,使用部分视图可以创建放置于不同页面的通用部分。创建方法有两种:一,在文件夹Views中用鼠标右击,选择命令“添加|Views”,按照提示创建部分视图;二,单击对应的行为方法,选择命令“Add View”,按照提示创建部分视图,新创建的部分视图是空白的,不包含任何代码,可以使用Html.Partial()方法把部分视图添加到视图中。
6.子行为
子行为是在一个视图中调用的行为方法,子行为与行为之间的关系如同部分视图与视图一样。子行为可以避免在应用程序中反复调用控制器。示例代码:
[ChildActionOnly]
public ActionResult SubMessage(){
return PartialView();
}
ChildActionOnly属性不是必须的,任何行为方法都可以作为子行为被调用,但是ChildActionOnly属性标记了一个行为只能在视图中作为子行为被调用,在视图中,用Html.Action()方法来调用子行为。
相关文章推荐
- linux文件与目录管理
- iOS keyboard属性详解
- T-SQL程序设计之标识符,常量和变量
- LightOj-1245
- Easy Task(数学求导)
- android捕获ListView中每个item点击事件
- C语言:用递归函数DigitSum(n)实现输入1729,输出sum=1+7+2+9=19的值
- Java字符串常用方法
- 安卓svg矢量图的使用
- ul与body之间多出一段距离怎么办
- shared_from_this
- 展讯8825 Android 手机 system.img 打包后不能下载问题
- JAVA内存存储分配粗略讲解
- 分式找规律计算
- 通过 Storyboard 快速搭建一系列连贯性的视图控制器
- 【JDK源码】ArrayList线程不安全详解—Fail-Fast机制总结
- Android调用系统下载文件的方法,不跳浏览器
- Accurately Say "CocaCola"!(规律题)
- DOM获取属性节点
- 对文本省市区进行分割操作