【发布时间】:2015-09-08 14:55:29
【问题描述】:
当从 ASP.NET Web API 使用 RazorEngine 时,如何让 @Url.Content() 在我的 _Layout.cshtml 中工作?
RazorEngine (v.3.7.2) 仅处理 Razor 语法,而不处理 @Html 或 @Url 等其他辅助方法。这些可以通过扩展TemplateBase<> 并在配置中设置来添加。
一些老issue中有代码示例:#26,#29;在MvcTemplateBase.cs 中的一段未发布的、不完整的代码中;在Extending the Template Syntax 的文档中。
我的问题是我正在使用 ASP.NET Web API (v.1),它没有 HttpContext.Current(也不应该)。我想提供一个UrlHelper,因为我想使用它的Content() 方法,但它需要用HttpRequestMessage 实例化,这将不可用。
也许没有办法为我的编译布局获取@Url 辅助方法。也许我需要其他一些方法来从虚拟路径中获取绝对路径。看来我仍然需要某种方式来检查请求。
【问题讨论】:
标签: asp.net-web-api razorengine