フォームにテキスト フィールドがあり、HTML コードと < > 文字を含むコードを含めることができます。これをデータベースに保存したいのですが、最初にエンコードして、[allowHtml} を実行しなくても安全に受け入れられるようにします。
データを送信するために使用するコードは次のとおりです。一度に 1 つのフィールドを送信するだけで、html コードを含む場合と含まない場合があるデータが javascript val変数にあることに注意してください。
$.ajax({
cache: false,
url: "/Admin/" + obj.table + "s/JsonUpdate",
dataType: 'json',
type: 'POST',
data: { pk: pk, rk: rk, fld: type, val: val }
})
サーバー側コントローラーには、次のコードがあります。
[HttpPost]
public JsonResult JsonUpdate(string pk, string rk, string fld, string val) {
Content content = null;
try {
if (fld == "TempRowKey") {
viewModel と [AllowHTML] を使用することを提案しましたが、データがエンコードされている場合、なぜ [AllowHtml] を使用する必要があるのでしょうか。
を送信しようとしたときに起こったことは次のとおり<x>
です。送信されたデータは次のとおりです。
pk=0006000&rk=0100&fld=Notes&val=%3Cx%3E
次に、サーバーは次のように応答しました。
Server Error in '/' Application
A potentially dangerous Request.Form value was detected from the client (val="<x>").