C# Ajax Post在页面模型中找不到方法

C# Ajax Post在页面模型中找不到方法,c#,ajax,razor-pages,C#,Ajax,Razor Pages,我的页面模型中有以下方法,称为Order public async Task<IActionResult> OnPostAddRecord(string recordId) { return new JsonResult("Hello"); } 然而,当它被触发时,它返回StatusCode 400,然而,我在同一页面上有另一个Ajax方法可以成功工作,区别在于一个是GET,而这是POST 我真的看不出这里有什么问题。您需要在FormData中包

我的页面模型中有以下方法,称为Order

 public async Task<IActionResult> OnPostAddRecord(string recordId)
 {
     return new JsonResult("Hello");
 }
然而,当它被触发时,它返回StatusCode 400,然而,我在同一页面上有另一个
Ajax
方法可以成功工作,区别在于一个是GET,而这是POST


我真的看不出这里有什么问题。

您需要在FormData中包含请求验证令牌:

在OnPostAddressRecord上面添加HttpPost属性action@mehmetx我得到的警告是HttpPostAttribute不能应用于Razor页面处理程序方法,Razor页面的路由必须使用page指令或使用约定声明。您可以在您的
OnPostAddressRecord
上方添加
[IgnoreAnforgeryToken]
,或者您可以添加@MikeBrind之类的AntiforgeryToken。页面上没有身份验证。请求验证与身份验证无关抱歉,误读了>
$('#RecordList').change(function () {

        var formData = {
            recordId: $("#RecordList").val(),
        };

          $.ajax({
            type: 'POST',
            data: formData,
            url: '@Url.Page("order", "addrecord")',
            success: function (result) {
                alert(result)
            },
            error: function (result) { }
          });


    });