MVCビューからコントローラに値をポストしようとしています。 要求検証機能がアプリケーションで有効になっています。Json.stringifyはHTML要素を許可します
しかし、私はHTMLタグで値をコントローラに渡そうとしたときに、例外が発生していません。
Group.Name = model.Name();
Group.Id = model.ID();
$.ajax({
type: 'POST',
url: /IndexController/SaveGroup',
async: true,
cache: false,
dataType: "json",
contentType: 'application/json; charset=utf-8',
data: JSON.stringify({ Group: group }),
success: function (data /*, textStatus, request*/) {
try {
}
catch (error) {
showExceptionWindow('Jquery Error:' + error);
}
},
error: function (request /*, status, error*/) {
handleException(request.responseText);
}
});
}
コントローラコード:
は、ここに私のAjaxのポストで、値はコントローラのアクションメソッドに渡していると救わ私はhtmlタグを挿入しようとした
[HttpPost]
public async Task<ActionResult> SaveGroup(Group group)
{
。
リクエストの検証機能が有効になっている場合、html要素をコントローラに渡すべきではありません。
コントローラでブロックされていることを確認する方法。
data: JSON.stringify({ group: Group }), // <-----It should have to be this Group here
そして、あなたのバックエンドで:
[HttpPost]
public async Task<ActionResult> SaveGroup(Group group) // group is {}
{
それともGroup
として
おかげできれいなJSの解決策になることができます。 –