2009-06-30 57 views
2

好的,所以也许这是MVC模式中的一种不可否认的情况,这就是我正在寻找的答案。然而,假设我在数据库中有一些内容html,并且我想将它传递给视图。我假设我可以使用ViewData属性将其传递给页面。我需要做什么类型的按摩,以使字符串像<h1>Hello World</h1>显示为'Hello World'而不是'<h1> Hello World </h1 >'。在ASP.NET MVC中,如何通过ViewData将View传递给页面?

+0

请注意,对于像这样的东西使用ViewData本身并不是一个“不”,但我认为强烈地输入您的视图和/或使用MVVM模式是一个更好的长期战略和更少的错字/容易出错。 – 2009-06-30 13:25:14

回答

2

什么都没有,只是在您的视图中做<%=ViewData["yourkey"] %>而不是<%=Html.Encode(ViewData["yourkey"]) %>

注意:只有在您确信您信任数据库中的数据时才能做到这一点!

+1

这太好了......你的意思是看代码可能实际上有帮助吗?但是,严肃地说,谢谢你以一种不会让我感到愚蠢的方式指出明显。 – 2009-06-30 13:33:54

0

在将字符串放入ViewData之前,您需要去除HTML。

编辑:当您将ViewData直接打印到页面时,它不应该转义HTML标记。


<%=ViewData["whatever"]%> 

这是C#,但它在VB.NET中非常相似。

+0

我希望字符串中的html在到达页面时被解释为html。 – 2009-06-30 13:19:47

相关问题