目前它将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())
答案 0 :(得分:1)
如何使用常规HTML?
<label for="DisplayName">
@Html.Partial("_Tooltip", new Tooltip { Title = Model.DisplayName, Description = "This is my test description" }
</label>
您遇到的问题是LabelFor
帮助程序自动HTML转义标签,假设您只传递一个不应包含HTML的常规字符串。
答案 1 :(得分:1)
我可以通过为此创建扩展方法来解决此问题,请遵循以下示例:http://weblogs.asp.net/imranbaloch/archive/2010/07/03/asp-net-mvc-labelfor-helper-with-htmlattributes.aspx
除了我更新了这个:
tagBuilder.SetInnerText(innerText);
对此:
tagBuilder.InnerHtml = innerText;
答案 2 :(得分: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())