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

按照这个例子,我可以通过为它创建一个扩展方法来解决这个问题:http ://weblogs.asp.net/imranbaloch/archive/2010/07/03/asp-net-mvc-labelfor-helper-with- html属性.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 回答