C# AntiForgery Asp.net Webforms

C# AntiForgery Asp.net Webforms,c#,asp.net,C#,Asp.net,我在asp.net 4.5 web表单应用程序中使用它进行防伪 <form id="form1" runat="server" class="formCont" method="post"> <%= System.Web.Helpers.AntiForgery.GetHtml() %> 和页面加载 AntiForgery.Validate(); 很好用 现在我已经为来自javascript的ajax调用创建了mayasp通用处理程序。现在的问题是如何在我的

我在asp.net 4.5 web表单应用程序中使用它进行防伪

<form id="form1" runat="server" class="formCont" method="post">
     <%= System.Web.Helpers.AntiForgery.GetHtml() %>
和页面加载

 AntiForgery.Validate();
很好用
现在我已经为来自javascript的ajax调用创建了may
asp通用处理程序。现在的问题是如何在我的泛型处理程序中验证相同的内容

我已经在ajax调用中尝试过了

 data: { "__RequestVerificationToken": $("input[name=__RequestVerificationToken]").val() },
并在处理程序中尝试此
AntiForgery.Validate()但是我得到了一个例外

An exception of type 'System.Web.Mvc.HttpAntiForgeryException' occurred in System.Web.WebPages.dll but was not handled in user code

Additional information: The required anti-forgery form field "__RequestVerificationToken" is not present. 
我已签入,正在
上下文中获取值。请求[“\u RequestVerificationToken”]

我怎样才能解决这个问题。

我找到了解决办法

它是在
context.Request.Forms
集合中查找的,所以我做了如下小改动

  • 将请求类型更改为post
    类型:“post”,

  • 宾果游戏成功了。

    你发布数据的格式是什么?JSON
    application/x-www-form-urlencoded
    ?@mason默认情况下我没有指定任何内容。然后使用浏览器的网络工具查看AJAX请求。将其与普通帖子进行比较。找出区别。
    An exception of type 'System.Web.Mvc.HttpAntiForgeryException' occurred in System.Web.WebPages.dll but was not handled in user code
    
    Additional information: The required anti-forgery form field "__RequestVerificationToken" is not present.