2011-10-25 4 views
5

'潜在的に危険のRequest.Form値が検出されました' 属性:私はまだValidateInput(偽)とAllowHtmlはまだ原因が、私は私のモデルに持って

[ValidateInput(false)] 
public ActionResult AddNewTemplate(EmailTemplateEditorModel model) 
{ 
} 

public class EmailTemplateModel 
{ 
    public int EmailTemplateId { get; set; } 

    [Required] 
    public string Name { get; set; } 
    [Required] 
    public string Subject { get; set; } 

    [AllowHtml] 
    [Required]   
    public string Content { get; set; } 
} 

そして、私のコントローラ上次のエラーが発生しています:

潜在的に危険なRequest.Form値がクライアントから検出されました

ValidateInput/AllowHtml属性を使用してこのチェックを無効にする必要があるにもかかわらず、これらのエラーが発生するのはなぜですか?私はこれらの属性の両方または1つだけ必要な場合は...

答えて

10

を他の記事を見てみるとその明確ではないあなたは、あなたのweb.config

<httpRuntime requestValidationMode="2.0" /> 

を追加する必要があります。 ASP.Net 4.0 Breaking Changesを参照してください。混乱している設定値にもかかわらず、これは3.54.0の間の急な変更です。これで、MVCが属性に基づいて無効にする前に、検証がパイプラインの早期で実行されるようになりました。

+0

これは動作します!ありがとう!!! requestValidationModeが異なるフレームワークまたはアセンブリバージョンをターゲットにしていることを指摘していますか?私はまだ理解できません... –

関連する問題