.net - RazorEngine:可以在 Webforms 应用程序中使用吗?

标签 .net webforms razorengine

是否可以在网络表单网络应用程序中使用 Razor 引擎 ( razorengine.codeplex.com )?我正在使用文件来定义模板,例如

示例.cshtml

<h1>Hello</h1>

或 sample2.cshtml(继承以启用智能感知)

@inherits SomeBaseClass<SomeModelClass>
<h1>Hello @Model.SomeProperty</h1>

在应用程序启动时我编译模板:

//get files and loop
RazorEngine.Razor.Compile(templateString, razorPath);

在用户控制代码隐藏中,我加载/解析模板:

RazorEngine.Razor.Run<SomeModelClass>(model, razorPath);

问题:

Sample.cshtml 给出以下异常:

Type 'ASP._Page_razor_Sample_cshtml' does not inherit from 'System.Web.UI.UserControl'.

Sample2.cshtml 给出以下异常(发生异常的代码如下,从编译的 cshtml 源中提取...):

CS0103: The name 'Context' does not exist in the current context

Line 37:         protected ASP.global_asax ApplicationInstance {
Line 38:             get {
Line 39:                 return ((ASP.global_asax)(Context.ApplicationInstance));
Line 40:             }
Line 41:         }

甚至可以以这种方式使用 Razor 引擎吗?

最佳答案

我找到了一些关于将 Razor 与母版页/部分一起使用的信息:

http://www.eworldui.net/blog/post/2011/01/07/Using-Razor-Pages-with-WebForms-Master-Pages.aspx

虽然我认为您不能在网络表单中普遍使用它。

但是,ScottHa 在 NuGet 上放置了一个项目,可以更轻松地在 WebForms 应用程序中启用 MVC,因此如果您只是想将它用于应用程序中的特定内容,这可能会很有用。他在 Mix 与 Phil Haack 的 NuGet 谈话中演示了这一点:

http://nuget.org/List/Packages/AddMvc3ToWebForms

关于.net - RazorEngine:可以在 Webforms 应用程序中使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5990618/

相关文章:

c# - 我在谁的“我的网站”上? (以编程方式)

javascript - 我可以使用 JavaScript 走多远?

asp.net - 在asp.net网络表单应用程序中选择启用了Ajax的WCF服务时,优缺点是什么?

asp.net - 如何使用 AJAX 渲染部分表单元素

.net - 是否可以在所有测试运行之前执行一次代码?

.net - .Net 平台独立性如何?

c# - 为什么在 Edge 中调试我的 asp.net core 2.0 应用程序时显示 "You' ll 需要一个新的应用程序来打开此本地主机”弹出窗口?

.net - Razor 引擎中的西里尔字符问题

.net - 为什么 Array 类显式地而不是隐式地实现 Ilist 接口(interface)?

javascript - Braintree 集成 - 无法在服务器端代码中访问 javascript nonce