首页 > 解决方案 > 如何从视图页面C#中的字符串中删除html标签

问题描述

如何在 c# 中从列表页面中的字符串中去除 html 标签我已经尝试过Regex.Replace(inputHTML, @"<[^>]+>|&nbsp;", "").Trim();,但这在 html 视图页面中不起作用可能仅在控制器中起作用。

这是我的行动:

public ActionResult Index()
        {
            string AuthRole = "1,2,3";
            ApplicationUser chkuser = common.CheckIsAuthorize(AuthRole);
            if (chkuser != null)
            {
                var data = db.Page.ToList();
                return View(data);
            }
            else
            {
                return RedirectToAction("Index", "Home");
            }
        }

这是我的观点:

foreach (var item in Model)
{
<tr>
    <td>@i</td>
    <td>@item.Title</td>
    <td>@item.Message</td>
    <td>
        @Html.ActionLink("Edit", "Edit", new { id = item.Id })
    </td>
</tr>
i++;
}

我的列表如下所示:

在此处输入图像描述

标签: c#.netasp.net-mvcmodel-view-controller

解决方案


如果您想在没有任何格式的情况下显示您的内容,那么您可以使用它Regex.Replace(input, "<.*?>", String.Empty)从字符串中删除所有 Html 标记。

1) 将以下代码添加到视图顶部 ( .cshtml)。

@using System.Text.RegularExpressions;

@helper StripHTML(string input)
{
    if (!string.IsNullOrEmpty(input))
    {
        input = Regex.Replace(input, "<.*?>", String.Empty);
        <span>@input</span>
    }
}

2)使用上面的辅助函数,如

<td>@StripHTML(item.Message)</td>

推荐阅读