我正在dot net core2.1上创建一个MVC应用程序。我正在尝试为razor创建一个html和ajax taghelper.i正在创建图像actionlink.i之前我已经在.net MVC 5上使用扩展方法进行了此操作,但是在点网核心中我无法理解。任何人都可以帮助实现与我只是初学者一样的功能。
答案 0 :(得分:1)
首先,我建议您看看the official document如何创建TagHelper
。如果您仍然感到困惑,请放心,我们将为您提供更简单的解释。
TagHelper
只不过是一段有助于在Razor中呈现HTML元素的服务器端代码。使TagHelper
更加强大的原因是我们可以向其中注入配置和服务。
让我们以图像为例。假设我们想要一个魔术<magic-image>
,它将呈现为
<img src="localserver-url" />
开发时,将呈现为
<img src="cdn-url" />
在生产环境中。输入为src
,输出为<img src=''>
。
您只需要记住4条规则:
[HtmlTargetElement("magic-image")]
告诉编译器它将用作<magic-image >
Src
来保存用户<magic-image src='xxx'>
的相对网址TagHelper
一起使用。换句话说,我们可以注入服务和配置/选项。Process()
方法用于将输入映射到最终输出。就像过去使用JavaScript处理DOM的方式一样,我们可以设置output.TagName,innerHtml。由于我们需要根据当前环境计算最终的src
,因此我们创建一个注入了TagHelper
的{{1}}:
Configuration