我在没有MVC-Framework的情况下使用RazorEngine.这意味着我没有用于创建模板的HtmlHelper.
没关系,我不需要任何方法.但我需要创建自己的方法,如BeginForm.
现在这些是用HtmlHelper.ViewContext.Writer.Write完成的,我没有.是否有"开箱即用"的方式,或者我必须在这里做一些魔术吗?
当从 ASP.NET Web API 使用 RazorEngine 时@Url.Content(),我如何开始工作_Layout.cshtml?
RazorEngine (v.3.7.2) 只处理 Razor 语法,而不处理额外的辅助方法,如@Html或@Url。这些可以通过TemplateBase<>在配置中扩展和设置来添加。
一些老问题中有代码示例:#26 , #29;在MvcTemplateBase.cs 中未发布的、不完整的一段代码中;并在扩展模板语法的文档中。
我的问题是我使用的 ASP.NET Web API (v.1) 没有HttpContext.Current(也不应该)。我想提供一个,UrlHelper因为我想使用它的Content()方法,但它需要用不可用的 实例化HttpRequestMessage。
也许没有办法为我的编译布局获取 @Url 辅助方法。也许我需要一些其他方式从虚拟路径获取绝对路径。看来我仍然需要某种方式来检查请求。