在剃刀视图中将Html.Raw更改为不带html标记的字符串

时间:2015-01-30 21:36:32

标签: asp.net-mvc razor

非常简单的问题。我有以下代码

@Html.Raw(following.Description).ToString()

当这来自数据库时,它有一些标记(它是一个论坛帖子,但我想在没有标记的列表中显示一个片段

有没有办法删除它并替换这一行,还是我只是从控制器正则它?

1 个答案:

答案 0 :(得分:0)

这是一个实用程序类扩展方法,可以在不使用Regex的情况下从片段中删除标记:

public static string StripTags(this string markup)
{
    try
    {
        StringReader sr = new StringReader(markup);
        XPathDocument doc;
        using (XmlReader xr = XmlReader.Create(sr,
                       new XmlReaderSettings()
                       {
                           ConformanceLevel = ConformanceLevel.Fragment
                           // for multiple roots
                       }))
        {
            doc = new XPathDocument(xr);
        }

        return doc.CreateNavigator().Value; // .Value is similar to .InnerText of  
                                           //  XmlDocument or JavaScript's innerText
    }
    catch
    {
        return string.Empty;
    }
}