将@ Html.Raw转换为ASP.NET MVC 4 Razor中的字符串

时间:2014-09-01 22:57:01

标签: c# html asp.net-mvc asp.net-mvc-4 razor

我想要的是将输出IHtmlString转换为String。

我有这段代码:

string text = @Html.Raw(Model.lastNoticias.Descricao);

此代码返回错误:

无法将System.Web.IHtmlString类型隐式转换为字符串。

完整代码:

@{ 
    string text = @Html.Raw(Model.lastNoticias.Descricao);
}
@if (text.Length > 100)
{
    @(text.Substring(0, 100) + "... ");
}

我该怎么做?

2 个答案:

答案 0 :(得分:7)

@if (Model.lastNoticias.Descricao.Length > 100)
{
    @Html.Raw(Model.lastNoticias.Descricao.Substring(0, 100) + " ...");
}
else
{
    @Html.Raw(Model.lastNoticias.Descricao);
}

另请注意,您不想修剪转义字符串。你永远不知道你在修剪什么。这里的解决方案是正确的。

答案 1 :(得分:0)

这是有效的:

@{ string text = "any text"; } @Regex.Replace(text, @"<[^>]*>", "").Substring(0, 80);