C# 如何使用Linq从数据库中提取HTML?
该项目基于as.NETMVC,我使用Razor作为视图引擎 我使用LINQ2Sql类从数据库中提取数据。 在一个特定的列中有html格式的内容 使用LINQ提取此数据,然后将其放入viewbag中,然后在显示视图中使用。由于<方括号转换为<和/>,因此格式丢失C# 如何使用Linq从数据库中提取HTML?,c#,asp.net-mvc,linq,C#,Asp.net Mvc,Linq,该项目基于as.NETMVC,我使用Razor作为视图引擎 我使用LINQ2Sql类从数据库中提取数据。 在一个特定的列中有html格式的内容 使用LINQ提取此数据,然后将其放入viewbag中,然后在显示视图中使用。由于
如何避免这种情况?通过将HTML包装在
MvcHtmlString
实例中直接呈现HTML,或者使用
直接呈现HTML,您可以使用以下方法:
System.Web.HttpUtility.HtmlDecode("your string")
@Html.Raw("your string")
有关此方法的更多文档,请查看
如果您的html存储为编码的html,则上述方法非常有用。否则就没有用了。正如马修在评论中指出的,那么你应该使用以下方法:
System.Web.HttpUtility.HtmlDecode("your string")
@Html.Raw("your string")
如何呈现显示视图?我有一个存储库类,它将获取数据。它将在我的控制器中被调用,并分配给一个var类型的变量。然后这个var变量被分配给一个viewbag属性,然后控制器重定向到一个视图,在这个视图中我使用foreach从这个viewbag获取数据。我认为这是一个典型的问题。这就是我建议使用这种方法的原因。如果他的数据库已经包含了非编码的html,那就没有任何帮助了。他需要
@Html.Raw(string)
将其转换为MvcHtmlString
并绕过自动编码。你可能想在你的答案中包含这一点。我会的。谢谢你的评论!我很高兴能帮上忙!我认为这只适用于aspx引擎