<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 = "<div id="something"><date-picker id="datepicker" value="@DateTime.Now"></date-picker></div>";
$(".myDialogfield").after(customDesign);
这在Razor中不起作用 - 我尝试过各种各样的事情,例如首先将它创建为HTML.Raw字符串并将其作为变量注入等等 - 有没有办法可以使用我的标签助手的输出脚本部分?
感谢任何提示!
答案 0 :(得分:2)
你不能这样做。 TagHelpers被解释。换句话说,Razor必须将它们视为实际的标签才能替换它们。在这里,它只是一个JS字符串,Razor不会搞砸它。
你最好的选择可能是某种JavaScript模板系统,但一般来说你仍然可以通过不同的路径手动获得你想要的东西。不要对HTML字符串进行硬编码,而是将TagHelper
包含在text/html
类型的脚本块中:
<script type="text/html" id="MyTemplate">
<date-picker id="datepicker" value="@DateTime.Now"></date-picker>
</script>
然后,在您的JavaScript中,您可以选择此脚本标记并获取其内容:
var customDesign = $('#MyTemplate').html();
$(".myDialogfield").after(customDesign);