3

次のエラー メッセージで HttpRequestValidationexception が発生します。

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

しかし、エラーが発生しているプロパティに AllowHtml があります。問題は、コードの後半で、次のプロパティを取得して、魔女の形式でビューを表示することControllerContext.HttpContext.Request.Params.AllKeys.Contains("format")です。そして、この「Param Getter」でエラーが発生します。

私のコードが次のようなものだとしましょう:

public class House
{
    [AllowHtml]
    public string Text { get; set; }
    public string Name { get; set; }
}

[HttpPost, ValidateAntiForgeryToken]
public ActionResult CreateTopic(House h)
{
 //business code
 if(ControllerContext.HttpContext.Request.Params.AllKeys.Contains("format"))
 {
    Return view;
 }
 }

どうすればこれを解決できますか? ValidateInput(false)私はすでにコントローラーアクションメソッドの属性を試しています。何か案が?

4

1 に答える 1

5

これを web.config の<system.web>セクションに追加してみてください:

<httpRuntime requestValidationMode="2.0"/>

次に、[ValidateInput(false)]アクションに属性を戻します。

Scott Hansleman がこの機能についてここで説明しています。

于 2012-06-11T16:36:39.810 に答える