1

MVC3 プロジェクトにフォームがあります。私の入力フィールドの 1 つは HTML を受け入れる必要があります。残念ながら、この値がマップされる ViewModel を持つことはできません。フィールドは自動生成され、自動的に読み込まれます。次のエラーが表示されます。

  A potentially dangerous Request.Form value was detected from the client

ビューモデルがないため、[AllowHTML] 属性を適用できません。ページ全体の検証を無効にする必要のない回避策を知っている人はいますか?

ありがとうございました

追加情報: 次のようにして、検証されていない値にアクセスできます。

 using System.Web.WebPages;
 using System.Web.Helpers;

  .....Inside Controller....
  string value = Request.Unvalidated("input-40");

ここでの問題は、Request.Params コレクションが例外をスローすることです。他のすべての値にアクセスして検証したいのですが...それだけではありません。他のフィールドを明示的に検証するか、検証済みのコレクションにアクセスする方法はありますか?

以下でいいでしょう

  string value = System.Web.Something.ValidateInput(Request.Unvalidated("input-41"));

残念ながら、このメソッドが存在する場所/存在するかどうかはわかりません

4

2 に答える 2

2

ValidateInput(false)次の属性を試すことができます。

[ValidateInput(false)]
public ActionResult YourAction(FormCollection yourCollection)
{
    // your stuff
}
于 2012-04-10T22:14:33.000 に答える
0

アクション メソッドに ValidateInput 属性を使用します。安全ではないようですが、動作するはずですが、今はテストできません。

于 2012-04-10T22:16:54.593 に答える