gpt4 book ai didi

c# - T4MVC 何时会支持带有显式 HtmlHelpers 的 Razor 来渲染局部?

转载 作者:太空狗 更新时间:2023-10-29 18:21:03 24 4
gpt4 key购买 nike

我已经使用 T4MVC 一段时间了,并且喜欢“显式 HtmlHelpers 呈现局部”功能,该功能默认情况下是关闭的。我正在使用 T4MVC 版本 2.6.40。

我最近升级到 MVC3 并注意到没有为 Razor partials 生成明确的 HtmlHelpers,所以我查看了 T4MVC 文本模板的源代码并找到了一个名为“GetPartials”的方法,其中有一行代码如下:

var parts = GetControllers()
.Select(m => m.ViewsFolder)
.SelectMany(m => m.Views)
.Where(m => m.Value.EndsWith(".ascx"));

很明显不支持 Razor View 。

我还想提一下,当运行 T4 模板(右键单击 > 运行自定义工具)时,我收到一条编译器警告,指出:“不再支持 C# 2.0 和 C# 3.5 编译器。模板将始终被编译使用第 4 版编译器而不是指定的“v3.5”。”

这与第 18 行有关,其中模板语言属性的值为“C#v3.5”。为什么它必须具有明确的版本依赖性?它不能只是“C#”吗?

很抱歉在一个帖子中问了两个不同的问题。

最佳答案

我刚刚发布了 T4MVC 2.6.42 来解决这个问题。您可以从 Codeplex 或 NuGet 获取它。

请注意,为了让 T4MVC 将 razor 文件检测为部分文件,其名称需要以下划线开头(例如 _foo.cshtml)。如果没有这个限制,我们最终会为所有 View 创建辅助方法,这会污染事物而不增加值(value)。请注意,MVC 团队通常建议在部分 Razor View 前加上 _ 前缀。

至于警告,它是无关的并且是良性的。要摆脱它,只需将 language="C#v3.5"更改为 language="C#"。我无法在正式版本中进行更改,因为这会导致它在 3.5 上运行时中断(而且我不想为此维护两个单独的版本)。

关于c# - T4MVC 何时会支持带有显式 HtmlHelpers 的 Razor 来渲染局部?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4861113/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com