Asp.net core mvc 在Javascript中访问标记帮助器输出

Asp.net core mvc 在Javascript中访问标记帮助器输出,asp.net-core-mvc,asp.net-core-tag-helpers,Asp.net Core Mvc,Asp.net Core Tag Helpers,恐怕是带剃刀和标签助手的初学者问题! 在我的razor html中使用标记帮助程序,我可以写: <div><date-picker id="datepicker" value="@DateTime.Now"></date-picker></div> 这将生成输出 <input id="datepicker" class="datepicker" aria-atomic="true" aria-live="assertive" aria-

恐怕是带剃刀和标签助手的初学者问题! 在我的razor html中使用标记帮助程序,我可以写:

<div><date-picker id="datepicker" value="@DateTime.Now"></date-picker></div>

这将生成输出

<input id="datepicker" class="datepicker" aria-atomic="true" aria-live="assertive" aria-expanded="false" role="combobox" name="datepicker" placeholder="Select date">

等等。我想做的是将输出附加到其他对象,比如对话框屏幕,它接受要附加的html字符串

e、 g

var customDesign=“”;
$(.myDialogfield”)。之后(customDesign);
这在Razor中不起作用-我已经尝试过各种方法,比如先将其创建为HTML.Raw字符串,然后将其作为变量注入,等等-有没有一种方法可以在脚本部分中使用标记助手的输出


谢谢你的提示

你不能那样做。标记帮助程序被解释。换句话说,Razor必须将它们视为实际的标签才能替换它们。在这里,它只是一个JS字符串,Razor不会弄乱它

您最好的选择可能是某种JavaScript模板系统,但一般来说,您仍然可以通过不同的路径手动获取所需的内容。在
text/HTML
类型的脚本块中包含
TagHelper
,而不是硬编码HTML字符串:

<script type="text/html" id="MyTemplate">
    <date-picker id="datepicker" value="@DateTime.Now"></date-picker>
</script>

您是否尝试将所需的JavaScript放在页面底部?也许这是一个DOM问题。。。您的JavaScript正在尝试查找尚未发送的ID?这不是问题所在。标记辅助对象不提供标记内的输出,它保持标记辅助对象不变
<script type="text/html" id="MyTemplate">
    <date-picker id="datepicker" value="@DateTime.Now"></date-picker>
</script>
var customDesign = $('#MyTemplate').html();
$(".myDialogfield").after(customDesign);