私は、ユーザーの要求ごとにフォームとクエリ文字列データをデータベースにシリアル化して保存しています。この特定のサブミットされたモデルは既に[AllowHtml]属性を持ち、コントローラに正常に送信します。問題は、私はこのフォームの値にアクセスするとき、私は例外を取得、私は要求をログGlobal.asaxファイル内にある:C#ASP.NET MVC Request.Formに手動でアクセスすると危険な値
「潜在的に危険のRequest.Form値が( クライアントから検出されたが... )。 "
protected void Application_PostRequestHandlerExecute(Object sender, EventArgs e)
{
...
var serializer = new JavaScriptSerializer();
var formData = (Request.Form.Count == 0) ? "" : serializer.Serialize(Request.Form.AllKeys.Where(x => x != null).ToDictionary(k => k, k => Request.Form[k]));
...
}
は無効な文字が含まれている場合、それはあるRequest.Form [k]をアクセスしようとするとエラーがスローされます。
テスト済みではありませんが、 'Request.Unvalidated.Form [k]' –
を使用することができます。メソッドに[ValidateInput(false)]を追加してみてください。 – coolboyjules
@StephenMuecke答えとして投稿してください。それは働いている。 – Brad