MVC3 AllowHtml用于自定义类型

时间:2011-03-28 06:52:40

标签: asp.net asp.net-mvc asp.net-mvc-3

我的模型中有一个自定义类型,如下所示:

    [StringLength(1000, MinimumLength = 150, ErrorMessageResourceName = "fld_Description_val_MinLength_lbl", ErrorMessageResourceType = typeof(Resources.Service.Controllers.Firm))]
    [AllowHtml]
    [Display(Name = "fld_Description_lbl", ResourceType = typeof(Resources.Service.Controllers.Firm))]
    public MultilanguageProperty<string> Description
    {
        get
        {
            return this.GetMultilanguageProperty("Description", string.Empty, this);
        }

        set
        {
            this.SetMultilanguageProperty("Description", value);
        }
    }

由于某种原因,AllowHtml不适用于自定义类型(从客户端检测到一个潜在危险的Request.Form值)。我怎么绕过它呢? 感谢

1 个答案:

答案 0 :(得分:2)

AllowHtml做的是在元数据上设置RequestValidationEnabled = false,它不包含任何特定于类型的逻辑。这里最可能的原因是您的属性与POST表单集合中的值之间的名称不匹配(ValueProvider未将此属性Metadata视为已发布值的元数据)。您可以通过在操作上添加[ValidateInput(false)]来禁用整个请求的验证。