【发布时间】:2012-06-07 00:52:50
【问题描述】:
我正在尝试使用 Razor 模板生成 .aspx 页面作为输出。我没有运气在文档中查找如何执行此操作。页面和命名空间声明破坏了模板:
<%@ Page Language="C#" Title="@Page.Metadata.browser_title" %>
<%@ Import Namespace="System.Xml" %>
这些是导致此错误的原因:
TemplateCompileException:CS1501:方法“Write”没有重载需要 0 个参数第 27 行第 1 列:Write();
我认为这是因为使用 C# 语法的 Razor 模板使两者发生冲突,因为上面的声明使用“@”。有没有办法让它们一起工作,以便 Razor 模板可以在模板运行后在渲染产品中使用 C# 生成输出?上面的示例还显示了“Title”的值需要如何从模板中呈现出来。
【问题讨论】:
-
你到底为什么要这么做?
-
由于 Tridion 创建者的 Razor Mediator 似乎并不在 SO 中闲逛,我建议在他的博客上问他:codedweapon.com
-
它首先通过一个名为 Tridion 的内容管理系统,页面上的内容由非开发人员输入。我以前一直在使用 DWT,但我正在研究使用 Razor 的概念证明,而不是在布局模板中提供更灵活的选项。 Razor/C# 操作模板代码,但生产服务器上的页面也有 C#,因为该站点基于 .net 并使用母版页、用户控件等。