【发布时间】:2019-07-19 06:27:47
【问题描述】:
我们有很多标签助手,并希望允许其他开发人员尝试通过代码编辑器创建页面,他们在其中编写一些标签助手,并且在提交时,我们希望呈现输出。我们想创建类似w3
以 asp.net 文档中的最小示例如下:
public class EmailTagHelper : TagHelper
{
public override void Process(TagHelperContext context, TagHelperOutput output)
{
output.TagName = "a";
}
}
当用户编写代码时,我们有一个代码编辑器:
<email>foo@foo.com<email>
我想执行这个标签助手并从中渲染 HTML 字符串,应该是:
<a>foo@foo.com</a>
事情可能会变得非常复杂,如您所想。
有没有办法从来自 MVC 控制器的字符串呈现 Tag Helper?
我尝试将部分视图和视图组件呈现为字符串。但没有运气。我尝试使用Html.Raw() 进行编码和解码,但也没有帮助。
有什么想法吗?
【问题讨论】:
-
我关注this project 有一段时间了,但发展似乎很慢
-
它与问题有什么关系?
-
你想获取一个字符串并通过 razor 运行它以输出 html,是吗?
-
不可能。标签助手必须出现在实际的 Razor 视图中。 @Shoe 引用的是一种以编程方式呈现字符串的方法,就好像它们是完整的 Razor 视图一样。这可能是一种潜在的解决方法,但您必须从根本上改变您的项目使用视图的方式。就使用标准 *.cshtml 文件而言,这是一个非首发。
标签: c# .net asp.net-core tag-helpers asp.net-core-tag-helpers