【问题标题】:How to create a custom Tag Helper for razor performed also in javascript code?如何为在 javascript 代码中执行的剃须刀创建自定义标签助手?
【发布时间】:2020-01-13 08:24:34
【问题描述】:

我在 C# 中创建了一个自定义 Tag Helper 来对某行代码执行一些检查(例如检查其中是否存在键),我将插入一个示例来解释它

<mycheck key="test">
<div>... some html code</div>
</mycheck>

我也想在 javascript 代码中使用它,但我发现用 javascript 代码编写时不会解释它,例如在这样的情况下:

<script>
    <mycheck key="test">
    ... some javascript code
    </mycheck>
</script>

如何在 javascript 代码中也使用我的标签助手?否则,有什么不同的解决方案吗?

【问题讨论】:

  • 一个标签助手在服务器上执行,是用 C# 编写的。那么您认为这在技术上如何可行呢?相反,您可以在 JavaScript 中编写相同的代码,或者公开要从 JavaScript 调用的 Web API 函数
  • @DanielSchmid 这个我知道,其实我很明显想在服务器上执行我的标签助手,如果javascript代码包含我的密钥,那么我想对标签内的代码做一些操作
  • 我想到了两种策略。传统上,您会通过 Web API 公开一个函数。然后,您将从 javascript 代码中调用此函数。或者,您可以实现 Blazor 服务器端组件。这样您就不需要编写任何 JavaScript。
  • TagHelperComponents,它允许将脚本添加到html

标签: javascript c# asp.net-core razor


【解决方案1】:

标签助手只存在于服务器端。当响应发送到客户端时,它将被重写为其他一些 HTML 标记。你不能在 JS 模板中使用它,因为它只能在服务器端处理,但只有在服务器已经完成之后才会出现在客户端。

如果您需要能够在客户端渲染组件,那么您应该使用 Angular、React、Vue 等客户端库并使用这些库创建组件。

【讨论】:

    猜你喜欢
    • 2015-08-01
    • 1970-01-01
    • 2020-06-06
    • 2018-05-19
    • 2019-06-05
    • 2019-08-01
    • 2016-01-17
    • 2014-03-09
    • 1970-01-01
    相关资源
    最近更新 更多