Razor视图引擎

Razor视图引擎,第1张

概述类似于传统ASP.NET的母版页、用户控件机制 在呈现类似用户控件的内容时(说白了就是用户控件),可以使用RenderPage辅助类,例如:   而所谓的“用户控件”其实就是一个没有<html><head><body>的裸页,将经常会使用的一部分逻辑或者内容分离出来以达到复用。 母版页可以提供统一的外观,按照原来的思路,一般会在母版页中插入ContentPlaceHolder控件来指明哪部分是要被

类似于传统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视图引擎所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1065020.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存