ValueProviderCollection不尊重AllowHtml属性

时间:2015-07-24 05:14:48

标签: c# asp.net-mvc nicedit

我正在网站上的WYSIWYG编辑器上工作。有问题的编辑是nicEdit。

我的mvc模型遇到了一些问题,并且发现了一个"检测到一个潜在危险的Request.Form值"异常。

我尝试通过在我的Content属性上添加AllowHtml属性来解决此问题:

[AllowHtml]
public string Contents { get; set; }

此代码中抛出了异常:

public static string GetStringValue(this IValueProvider provider, string key)
{
    return provider.getValue(key);
}

在运行时实例化的特定提供程序是内置的ValueProviderCollection,包含System.Web.Mvc.FormValueProvider,我的reading here建议应该尊重AllowHtml属性。

那么,我在这里做错了什么?

编辑:所以我的老师让我知道我工作的班级是IValueProvider的扩展(这显然是"这个IValueProvider提供商"的意思)。 / p>

不确定这是否会对事情产生影响,但我认为我已经完成了提及。

1 个答案:

答案 0 :(得分:0)

阅读excellent blog post on the topic后,我实施了我的解决方案。结果很简单。

我提供了与现有方法类似的方法:

            |-  child1

parent  ----|-  child2

            |-  child3

在主叫代码中,对于我不想要验证的特定属性,我做了以下调用:

public static string GetStringValue(this IUnvalidatedValueProvider provider, string key, performValidation)
{
    return provider.getValue(key, !performValidation).AttemptedValue;
}