1

これはおそらく簡単な修正ですが、出力にマークアップが表示されるようHtmlTextWriterHtmlHelper、何を試しても HTML をエンコードしています。

ヘルパー:

protected override void WriteHtml(System.Web.UI.HtmlTextWriter writer)
        {
            writer.WriteFullBeginTag("div");
            writer.WriteEndTag("div");

            base.WriteHtml(writer);
        }

そして、これをページに出力します:<div></div>

編集

私はこのようにビューでそれを呼び出しています:

@Html.SAIF().Toolbar().Items(items => {
    items.Add().Action("Action");
    ... ...
})

編集#2

わかりました、これをもう少しうまく説明できるか見てみましょう。

ViewContext.Writer を使用してヘルパーをストリームに書き込む場合、次のような構文を使用します。

@Html.MyHelper

エンコードされた HTML を出力します (例) <div>Test Div</div>= 正しくありません

次のような構文を使用する場合:

@{Html.MyHelper.Render();}

正しくレンダリングされます。つまり、div を文字列として表示するのではなく、実際に DOM に挿入します。

わかる?

4

0 に答える 0