【问题标题】:How to remove html tags from string in view page C#如何从视图页面C#中的字符串中删除html标签
【发布时间】:2019-03-31 23:07:15
【问题描述】:

如何在 C# 中从列表页面中的字符串中去除 html 标签 我已经尝试过Regex.Replace(inputHTML, @"<[^>]+>| ", "").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# .net asp.net-mvc model-view-controller


【解决方案1】:

如果您想在没有任何格式的情况下显示您的内容,那么您可以使用此Regex.Replace(input, "&lt;.*?&gt;", 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>

【讨论】:

  • @ershoib 如何在视图中使用我的意思是在 html 页面中
  • 谢谢.. 像魅力一样工作
【解决方案2】:

替换

<td>@item.Message</td>

<td>@Html.Raw(item.Message)</td>

这可以帮助您在 razor 视图中显示 html

【讨论】:

  • 还没有。等待 ershoaib 回答
  • 不知道为什么这个答案大拇指向下,它工作得很好:),谢谢
  • 这个答案会导致 html 标签按原样传递给浏览器,使其呈现它们。 OP 正在寻求一种删除 html 标签的方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-03-24
  • 1970-01-01
  • 1970-01-01
  • 2013-02-24
  • 1970-01-01
  • 2021-02-05
相关资源
最近更新 更多