我正在将项目转换为ASP.NET Core。我需要迁移大量可重用的html帮助程序,但Core中不存在html帮助程序。
有些很复杂,有些简单。这是一个非常简单的例子:
@helper EditIcon()
{
<i class="glyphicon glyphicon-pencil"></i>
}
请注意,这只是一个例子。
Point正在编写一个标记助手,因为这是一种巨大的过度杀伤力。部分相同。视图组件也是如此。
我们谈论的是Razor的一小部分内容。什么是我最好的选择?
@helper指令已删除,但如果您考虑使用Func<dynamic, IHtmlContent>
,则表示您正在迁移旧代码。这是一个例子:
@{
Func<dynamic, IHtmlContent> BrowserInfo(string btitle, string href, string imgfilename) =>
@<div style="text-align: center">
<a href="@href">
<img src="~/content/images/browsers/@imgfilename" alt="@btitle"/>@btitle</a>
</div>;
}
并像使用旧助手方法一样使用它:
@BrowserInfo("Google Chrome", "http://www.google.com/chrome/", "browser_chrome.gif")(null)