razor - 无法在 .NET Core 中的 .cshtml 中的本地函数中使用标记
问题描述
我正在尝试将项目从 .NET Framework 迁移到 .NET Core 3.1。
.NET Core 不支持本地或来自 App_Code 的 @helper 函数。在线查看后,我在此线程上找到的替代方法之一是使用本地函数。
// local function
@{
void RenderName(string name)
{
<p>Name: <strong>@name</strong></p>
}
RenderName("Mahatma Gandhi");
RenderName("Martin Luther King, Jr.");
}
// @function
@{
RenderName("Mahatma Gandhi");
RenderName("Martin Luther King, Jr.");
}
@functions {
private void RenderName(string name)
{
<p>Name: <strong>@name</strong></p>
}
}
但是,当我将它们复制粘贴到 .cshtml 文件中时,这些替代方法都无法编译。我正在使用 Visual Studio 2019(版本 16.4.2)。我得到围绕标记的编译器错误,“预期声明”。
我不希望这段代码在 .NET Framework 中工作,但我发现它令人困惑,因为我是从 .NET Core 3.1 的官方 Microsoft 文档中复制/粘贴的。
解决方案
推荐阅读
- apache-kafka - Kafka StreamsBuilder的table方法中为什么没有在API返工中指定StoreName?
- html - 引导程序。为什么div没有响应?
- c++ - 如何修改此 Makefile 以分别构建 c 和 cxx 文件?
- python - Python:循环遍历所有参数选项
- asp.net - CollapsiblePanelExtender 的目标面板在加载时不可见,需要折叠然后展开才能看到它
- metafor - 使用 escalc() metafor 包进行元分析的错误风险比/相对风险计算
- reactjs - 捆绑 React/Express 应用程序进行生产
- mysql - SQL 查询与给定消费者拥有的每个集合集的数量有关
- docker - 将我自己的代码连接到 kubernetes 中的标准 docker 映像的最佳实践
- codenameone - 代号一:全双工通话