3

現在、HTML を文字列として返しています。これを適切に HTML に出力する簡単な方法はありますか?

@Html.LabelFor(m => m.DisplayName, 
                 Html.Raw(Html.Partial("_Tooltip", new Tooltip { 
                                     Title = Model.DisplayName, 
                                     Description = "This is my test description"}
                                     ).ToString())
                   .ToString())
4

3 に答える 3

1

通常のHTMLを使用するのはどうですか?

<label for="DisplayName">
    @Html.Partial("_Tooltip", new Tooltip { Title = Model.DisplayName, Description = "This is my test description" }
</label>

あなたが遭遇している問題はLabelFor、あなたがそれにHTMLを含むべきではない通常の文字列だけを渡すと仮定して、ヘルパーが自動的にラベルをHTMLエスケープすることです。

于 2012-10-16T18:15:26.937 に答える
1

次の例に従って、拡張メソッドを作成することでこれを解決できました。 htmlattributes.aspx

私がこれを更新したことを除いて:

tagBuilder.SetInnerText(innerText);

これに:

tagBuilder.InnerHtml = innerText;
于 2012-10-16T18:26:13.397 に答える
0

生の html が必要ない場合は、Html.Raw()次のように関数を削除します。

@Html.LabelFor(m => m.DisplayName, Html.Partial("_Tooltip", new Tooltip { Title = Model.DisplayName, Description = "This is my test description" }).ToString().ToString())
于 2012-10-16T18:23:22.393 に答える