C# HtmlAgilityPack在控制器ASP MVC4+中剥离html;

C# HtmlAgilityPack在控制器ASP MVC4+中剥离html;,c#,asp.net-mvc,html-agility-pack,C#,Asp.net Mvc,Html Agility Pack,我有一个索引视图,它返回一个数据列表。title参数包含HTML标记。当我加载此视图时,我的标题类似于标题 但是在这种情况下,我不需要这些标签,所以我只是为了这个视图而删除它们。我已经读到操作可以在控制器中完成,您能告诉我如何使用HtmlAgilityPack来完成吗 控制器 public ActionResult ArchivePanel(string sortOrder, string currentFilter,string searchString,int? page) { ... va

我有一个索引视图,它返回一个数据列表。title参数包含HTML标记。当我加载此视图时,我的标题类似于
标题

但是在这种情况下,我不需要这些标签,所以我只是为了这个视图而删除它们。我已经读到操作可以在控制器中完成,您能告诉我如何使用HtmlAgilityPack来完成吗

控制器

public ActionResult ArchivePanel(string sortOrder, string currentFilter,string searchString,int? page)
{
...
var alertMap = db.AlertMap.Include(a=>a.AlertLog).Include(a=>a.AlertMode).Include(a=>a.AlertPriority).Include(a=>a.AspNetUsers);
...
return View(alertMap.ToPagedList(pageNumber.pageSize));
}
我需要对a.AlertLog.AlertTitle值执行此操作

看法


@DisplayFor(modelItem=>item.AlertLog.AlertTitle)

谢谢

我建议您不要为此使用HtmlAgilityPack。这是用于操作HTML的,在控制器中不应更改原始HTML


相反,我建议在这种情况下为您的页面使用不同的视图,该视图具有您在这种情况下需要的外观和感觉。您可以将视图中与原始视图相同的部分分解为共享布局。

我建议您不要为此使用HtmlAgilityPack。这是用于操作HTML的,在控制器中不应更改原始HTML


相反,我建议在这种情况下为您的页面使用不同的视图,该视图具有您在这种情况下需要的外观和感觉。您可以将视图中与原始视图相同的部分分解到共享布局中。

当用户创建deskalert消息时,我将此参数的html标记存储在数据库中。因此,当用户稍后使用wpf客户端应用程序阅读此消息时,他可以解析html文本。但在服务器端应用程序中,当用户列出deskalert消息时,我不需要这些标记。这就是为什么我试图仅对此视图抑制标记。有更简单的方法吗?当用户创建deskalert消息时,我将此参数的html标记存储在db中。因此,当用户稍后使用wpf客户端应用程序阅读此消息时,他可以解析html文本。但在服务器端应用程序中,当用户列出deskalert消息时,我不需要这些标记。这就是为什么我试图仅对此视图抑制标记。有更简单的方法吗?当用户创建deskalert消息时,我将此参数的html标记存储在db中。因此,当用户稍后使用wpf客户端应用程序阅读此消息时,他可以解析html文本。但在服务器端应用程序中,当用户列出deskalert消息时,我不需要这些标记。这就是为什么我试图仅对此视图抑制标记。有没有更简单的方法?您只需将包含HTML标记的字符串加载到HAP的
HtmlDocument
对象,然后访问
InnerText
属性以仅获取文本内容好的,我将尝试此解决方案感谢您的响应您只需将包含HTML标记的字符串加载到HAP的
HtmlDocument
对象,然后访问
InnerText
属性仅获取文本内容OK,我将尝试此解决方案感谢响应您只需将包含HTML标记的字符串加载到HAP的
HtmlDocument
对象,然后访问
InnerText
属性仅获取文本内容OK,我将尝试此解决方案感谢响应
<td>
@Html.DisplayFor(modelItem=>item.AlertLog.AlertTitle)
</td>