Razor视图引擎
来源:互联网 发布:和知乐差不多的小说家 编辑:程序博客网 时间:2024/05/16 14:03
类似于传统ASP.NET的母版页、用户控件机制
在呈现类似用户控件的内容时(说白了就是用户控件),可以使用RenderPage辅助类,例如:
而所谓的“用户控件”其实就是一个没有<html><head><body>的裸页,将经常会使用的一部分逻辑或者内容分离出来以达到复用。
母版页可以提供统一的外观,按照原来的思路,一般会在母版页中插入ContentPlaceHolder控件来指明哪部分是要被使用页来替换内容的,在Razor中,它不叫ContentPlaceHodler,叫RenderBody。
不同的时,传统ASP.NET可以在母版页中插入多个ContentPlaceHolder,而RenderBody只能有一个。其实,类似ContentPlaceHolder,Razor中也提供RenderSection来实现。
先说RenderBody。当我们在母版页中的某个位置写了@RenderBody()后,接下来在使用母版页时,只需在页面的顶部写入:
@{ LayoutPage = "MasterPageLocation"; }, 这样,接下来的内容会自动填充到母版页RenderBody()对应的位置:
MasterPage:
Page:
使用RenderSection时需要指定Section片断的名字, 我们可以在母版页中的相关位置上写上@RenderSection("name"),然后在使用母版页的页面中声明类似的Section,即:@section header {/*HTML or other*/},具体如下:
文件上传与Image处理
对于常用的文件上传功能,Razor做了封装,让我们使用更加的方便,只需简单的在页面上使用FileUpload类的相关方法即可,配合Razor的清爽语法,可读性非常高:
配合C#4.0的默认参数,一个文件传的功能就实现了(其实我觉得更像是一种使用控件)生成的HTML如下:
1<form action="" enctype="multipart/form-data" method="post">2<div id="file-upload-all-files">3<div><input name="fileUpload" type="file" /></div>4</div>5<div id="file-upload-buttons"><input type="submit" value="Upload" /></div>6</form>
对于更加常见的Image,Razor也做了相应的封装:WebImage,常用的一些方法如下:
1WebImage.Resize(); //改变图像大小2WebImage.FlipXXXX(); //图像旋转,XXXX对就旋转方向,例如Vertical垂直翻转,Horizontal水平翻转,Left,Right……3WebImage.AddTextWatermark(); //在图像上加入文字水印4WebImage.AddImageWatermark(); //在图像上加入图像水印视频
对于常见的视频需求,Razor提供了简化手动配置视频标签的辅助类:Video。当下最为流行的网页视频播放无非3种:Flash,Windows Media Player,Silverlight,至于HTML5的先天支持那是后话。Video充分利用C#4.0默认参数的威力,使得生成一个视频标签也是手到擒来:
至于Windows Media Player和Silverlight就不多说了,大同小异,有兴趣可以研究Video.MediaPlayer(),Video.Silverlight()
- Razor视图引擎浅析
- Razor视图引擎
- MVC Razor视图引擎
- Razor视图引擎
- Razor视图引擎
- MVC Razor视图引擎
- MVC 视图 视图引擎Razor
- 关于Razor视图引擎小结
- Razor视图引擎-基础语法
- Razor 视图引擎 基本语法
- Razor视图引擎-基础语法
- Razor视图引擎-基础语法
- Razor视图引擎基础语法
- Razor视图引擎基础语法
- Razor视图引擎 语法学习
- Razor视图引擎-基础语法
- MVC3 Razor视图引擎基础语法()
- MVC3 Razor视图引擎基础语法
- jQuery Mobile权威指南
- 我要学ASP.NET MVC 3.0(十六): MVC 3.0 实例系列之表格数据的分页
- Java I/O中的对象序列化
- flash as3 扎气球游戏
- Qsys学习笔记5
- Razor视图引擎
- 下载导入Eclipse中工程源码注释乱码问题解决
- Mono简介
- uploadify示例
- jquery中,字符串转化为json对象【鸡蛋】
- java中判断socket服务器端是否断开连接
- 在O(1)时间删除链表结点
- 微软等数据结构与算法面试100题第十题
- iOS中为网站添加图标到主屏幕以及增加启动画面