博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
怎么在ASP.NET WebForm中使用Razor视图引擎(转载)
阅读量:5947 次
发布时间:2019-06-19

本文共 1326 字,大约阅读时间需要 4 分钟。

前几天微软发布了一堆新技术,详见ScottGu的博客:

Announcing release of ASP.NET MVC 3, IIS Express, SQL CE 4, Web Farm Framework, Orchard, WebMatrix

让人特别感兴趣的是ASP.NET MVC 3和WebMatrix中的Razor视图引擎,其简洁明了的句法给人以耳目一新的感觉,ScottGu对它做了很多介绍,详见上面链接中有关Razor部分的内容和链接。

但这些介绍基本上是围绕着ASP.NET MVC 3来进行的,在WebForm中是否能够用它来渲染视图呢?可以的,这里做一个简单的示范:

安装ASP.NET MVC 3,在你的web应用中添加对System.Web.WebPages程序集的引用。

在项目中添加一个.cshtml文件(假定你的项目是基于C#的),在这里我生成了一个weibo.cshtml,其中的内容为:

欢迎去 @Model.Name 的新浪微博 <a href=”@Model.URL”>@Model.URL</a> 拍砖!

所用的Model是一个自定义类:

public class UserInfo

{
    public string Name { get; set; }
    public string URL { get; set; }
}

在你Page的HTML中加一个Panel:

<asp:Panel ID=”pnlContent” runat=”server” />

然后在Page_Load方法中,

var model = new UserInfo { Name = “思归”, URL = “ };

var path = System.IO.Path.Combine(Request.ApplicationPath, “weibo.cshtml”);

var type = BuildManager.GetCompiledType(path);

System.Diagnostics.Debug.Assert(type != null);

var script = Activator.CreateInstance(type) as System.Web.WebPages.WebPage;

System.Diagnostics.Debug.Assert(script != null);

var writer = new System.IO.StringWriter();

script.ExecutePageHierarchy(new System.Web.WebPages.WebPageContext(new System.Web.HttpContextWrapper(HttpContext.Current),

                                null, //rendering page
                                model), //model
                          writer);

pnlContent.Controls.Add(new LiteralControl(writer.ToString()));

运行该网页,你会看到这样的输出:

欢迎去 思归 的新浪微博 拍砖!

转载地址:http://oxfxx.baihongyu.com/

你可能感兴趣的文章
非泄露,NSA官方开源反汇编工具GHIDRA
查看>>
保持分布式团队同步
查看>>
Node.js v7 Beta版引入citgm
查看>>
微服务没有银弹 | Weibo Mesh 的工程化实践解读
查看>>
让你的系统“坚挺不倒”的最后一个大招——「降级」
查看>>
Git 2.5增加了工作树、改进了三角工作流、性能等诸多方面
查看>>
搭载AI引擎,腾讯云云镜开启全面防护模式
查看>>
不仅有Ubuntu,这家公司的Ubuntu Core预计使用翻倍
查看>>
JMS机制
查看>>
Grumpy:Google 用 Go 开发的 Python 运行时
查看>>
Kubernetes 1.14 版本发布:正式支持Windows 节点,持久化本地卷进入GA
查看>>
区块链和数据科学:如果同时应用这两种技术,将会实现什么?
查看>>
AVG插件泄漏Chrome用户数据
查看>>
免费微信公众号专用h5在线电影票API
查看>>
专访刘刚:360手机卫士的性能监控与优化
查看>>
FB正在大规模重构React Native,预计今年发布
查看>>
从0到1:腾讯Yoo视频底层页推荐系统实践
查看>>
推荐10个CI/CD工具,用于云平台集成交付
查看>>
云平台宕机引发的系列思考,企业如何自救?
查看>>
Java EE跟JCP说再见
查看>>