0

我正在使用 HTML Agility Pack 打开一个主 HTML 文件,然后使用基本的 StreamReaders 打开帮助文件,读取内容,并将它们放在主文件的正确 div 中。

它可以工作,但由于某种原因,一些 knockoutjs 评论绑定被搞砸了。

这是html

<select data-bind="css: { 'required': isrequired }" class="answer-single">
    <option value="">Choose</option>
    <!-- ko foreach: formquestionoptions -->
        <option data-bind="value:text, text:text"></option>
    <!-- /ko -->                              
</select>

(我已经在 Visual Studio 调试器中验证过。)

当它被 HTML Agility Pack 插入时,这就是它的样子,这会导致 Knockout 错误

<select data-bind="css: { 'required': isrequired }" class="answer-single">
    <option value="">Choose
    <!-- ko foreach: formquestionoptions -->
        <option data-bind="value:text, text:text">
    <!-- /ko -->                              
</select>

我应该如何告诉 HTML 敏捷包...不要这样做?这是当前代码

item.Helpers.ForEach(packet =>
{
    string contents = FileWriter.getFileContents(mapPath(packet.FileName));
    doc.GetElementbyId(packet.DomId).InnerHtml = Environment.NewLine + contents + Environment.NewLine;
});
4

1 回答 1

1

默认情况下,HAP 会特别对待选项标签...所以要关闭此行为,这是您需要的代码

HtmlDocument doc = new HtmlDocument();
HtmlNode.ElementsFlags.Remove("option");

原始答案在这里

于 2012-09-10T17:16:30.407 回答