如何从视图页面C#中的字符串中删除html标签

Rah*_*war 2 .net c# model-view-controller asp.net-mvc

我已经尝试过如何从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");
            }
        }
Run Code Online (Sandbox Code Playgroud)

这是我的看法:

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++;
}
Run Code Online (Sandbox Code Playgroud)

我的清单如下所示:

在此处输入图片说明

er-*_*sho 9

如果您想不带任何格式显示内容,则可以使用它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>
    }
}
Run Code Online (Sandbox Code Playgroud)

2)使用上面的助手功能

<td>@StripHTML(item.Message)</td>
Run Code Online (Sandbox Code Playgroud)