JQueryはその場で呼び出しを終了しますか、それともASP.NET MVCですか?
そのなかで何も。それはASP.NETエンジンです。この機能は、ASP.NET MVCが存在するずっと前からASP.NETに存在し、ASP.NET MVCはASP.NETの上に構築されているため、それを継承していました。
次に、この機能をオフにするにはどうすればよいですか?
[AllowHtml]
ビューモデルプロパティを装飾することにより、次の属性でこの値にバインドします。
public class MyViewModel
{
[AllowHtml]
public string Html { get; set; }
}
そして今、あなたは次のコントローラーアクションを持つことができます:
[HttpPost]
public ActionResult SomeAction(MyViewModel model)
{
...
}
jQuery.ajaxを使用して呼び出し、任意のHTMLコンテンツを送信していること。
$.ajax({
url: '@Url.Action("SomeAction")',
type: 'POST',
data: { html: '<div>Hello World</div>' },
success: function(result) {
}
});
明らかに、これを行うことで、ユーザーがスクリプトやすべての危険なものを含む任意のHTMLをサイトに送信できるという事実を完全に認めます。したがって、XSS攻撃を防ぐために、この値を適切にエンコードしてから、ページに表示し直してください。