我的表单上有一个文本字段,可以包含 html 代码和带有 < > 字符的代码。我想将其存储在数据库中,但首先我想对其进行编码,以便可以安全地接受它而无需执行 [allowHtml}。
这是我用来发送数据的代码。请注意,我一次只发送一个字段,可能包含或不包含 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>").