类似的问题已被问到here,但答案并未解决我的问题。
如何将字符串呈现为html?基本上,我需要将一个字符串传递给具有" a"标签定义在其中。我想要的是将它渲染为可点击的实际html链接。
查看模型(简化):
public class MyViewModel
{
public string MyLink { get; set; }
}
在控制器(简化)中:
public IActionResult Index()
{
MyViewModel model = new MyViewModel();
model.MyLink = "<a href="http://www.google.com">http://www.google.com</a>"
return View(model);
}
在视图中(第一行):
@model MyNamespace.ViewModel.MyViewModel
然后在下面,这些html标记(数字后面的第1行)显示结果(第2行)。但它们都不是您可以点击的实际链接。
1
@Model.MyLink
<a href="http://www.google.com">http://www.google.com</a>
2
<pre>@Html.Raw(@Model.MyLink)</pre>
<a href="http://www.google.com">http://www.google.com</a>
3
@Html.Encode(@Html.Raw(@Model.MyLink))
&lt;a href=&quot;http://www.google.com&quot;&gt;http://www.google.com&lt;/a&gt;
4
@Html.Encode(@Model.MyLink)
result same as #3.
任何帮助将不胜感激。提前谢谢。
答案 0 :(得分:7)
在控制器中使用
model.MyLink = HttpUtility.HtmlDecode(url);
然后在视图中使用
@Html.Raw(Model.MyLink)
第一个将其转换为使用