如何从C#列表页面中的字符串中删除html标签
我已经尝试过Regex.Replace(inputHTML, @"<[^>]+>| ", "").Trim();
,但这在html view页面中不起作用,可能是这仅在controller中起作用。
这是我的动作:
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++;
}
我的列表如下:
答案 0 :(得分:5)
如果您想不带任何格式显示内容,则可以使用此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>
答案 1 :(得分:0)
替换
<td>@item.Message</td>
与
<td>@Html.Raw(item.Message)</td>
这可以帮助您在razor视图中显示html