gpt4 book ai didi

ASP.NET 将原始 HTML 解析为控件

转载 作者:行者123 更新时间:2023-12-01 10:16:46 29 4
gpt4 key购买 nike

是否可以在 ASP.NET 中获取包含一些 HTML 的字符串并让 ASP.NET 解析它并为我创建一个控件?例如:

string rawHTML = "<table><td><td>Cell</td></tr></table>";
HTMLTable table = MagicClass.ParseTable(rawHTML);

我知道这是一件坏事,但不幸的是,这是我实现所需目标的唯一方法(因为我无法修改该特定同事的代码)。

此外,我知道 LiteralControl 允许您拥有一个包含任意 HTML 的控件,但遗憾的是我需要将它们转换为适当的控件。

不幸的是,HTMLTable 不支持 InnerHTML 属性。我需要按原样保留 HTML 树,所以我不能将它放入 <div> 中。标签。

谢谢。

最佳答案

我想你会得到的最接近的是 Page.ParseControl ,这是 ASP.NET 解析器。缺点是您拥有的文本一个 LiteralControl,因为它上面没有 runat="server"- 所以您需要事先进行一些非常小的字符串操作。

换句话说:

this.ParseControl("<table><tr><td>Cell</td></tr></table>")

将产生:

Control
LiteralControl

鉴于:

this.ParseControl("<table runat=\"server\"><tr><td>Cell</td></tr></table>")

将产生:

Control
HtmlTable
HtmlTableRow
HtmlTableCell
LiteralControl

关于ASP.NET 将原始 HTML 解析为控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/248437/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com