有没有办法在ASP.NET MVC2中使用[AllowHtml]?

有没有办法在ASP.NET MVC2中使用[AllowHtml]?,asp.net,asp.net-mvc,asp.net-mvc-2,Asp.net,Asp.net Mvc,Asp.net Mvc 2,我正在实现一个MVC2应用程序,需要允许在描述字段中使用html。该模型有更多需要验证的字段 我刚刚看到MVC3有这个属性[AllowHtml]来实现这一点 MVC2中是否有解决方案?或者我需要升级到MVC3吗 提前谢谢 以下是我将遵循的方法: 不过你需要小心。用户输入在任何时候都可能是有害的。当ValidateInput设置为false时,模型中的所有字段都容易受到html内容的攻击。因此,我们基本上不能使用这种方法。如果我们愿意,我们将需要编写大量代码来验证所有字段 杰克·斯科特为此提出了

我正在实现一个MVC2应用程序,需要允许在描述字段中使用html。该模型有更多需要验证的字段

我刚刚看到MVC3有这个属性[AllowHtml]来实现这一点

MVC2中是否有解决方案?或者我需要升级到MVC3吗


提前谢谢

以下是我将遵循的方法:

不过你需要小心。用户输入在任何时候都可能是有害的。

当ValidateInput设置为false时,模型中的所有字段都容易受到html内容的攻击。因此,我们基本上不能使用这种方法。如果我们愿意,我们将需要编写大量代码来验证所有字段

杰克·斯科特为此提出了一个解决方案。我们可以编写一个自定义过滤器并处理此问题


注意:这可能不是最好的解决方案,但由于MVC2的限制,我们可能需要接受它。

是的,ValidateInput(false)可用于此目的,但我需要验证html允许字段以外的所有其他字段。当用户在文本字段中输入“html”时,ASP.NET崩溃的方式很糟糕。当用户输入HTML字符时,不允许HTML的字段不应引发异常-它们应与任何其他字符一样存储,并在显示时进行编码。想象一下,如果您试图在StackOverflow问题标题中发布“标签做了什么?”。它不应该只是爆炸,它应该(而且确实)在显示时接受输入并对其进行编码。谢谢Danny,是的,你说的是真的。在MVC2中,处理它有点困难。无论如何,我编写了一个自定义操作过滤器来解决这个问题。如果您刚刚实现了MVC2应用程序,我建议您升级到MVC3,因为它是最新版本。