站点图标 江湖人士

如何在ASP.NET Core Razor页面中处理Ajax请求?

razor pages ajax

razor pages ajax

这篇文章是关于在ASP.NET Core Razor Pages中处理Ajax请求。Razor Pages是ASP.NET Core MVC的一项新功能,它使编写以页面为中心的场景更容易,更高效。

我已经在ASP.NET Core中发布了一篇关于jQuery Unobtrusive Ajax Helpers 的博客文章,你也可以在Razor Pages中使用它。但是大多数帮助程序都是针对POST / PUT请求的,如果你想以异步方式加载某些东西,比如级联下拉列表,那该怎么办呢。所以你可能需要使用jQuery ajax方法($.get$.getJson)。OnGetCountries方法返回国家/地区列表。

$.getJSON("/Index/OnGetCountries", function(data){
    //处理返回结果。
});

但是,如果您尝试通过标准路由访问Razor Page方法,则可能无法正常工作。

如果您在Razor页面中创建除默认方法OnGetOnPost方法之外的新方法,则可以通过处理程序访问它。因此,您需要使用ajax请求中的处理程序上下文来工作。因此,如果您使用的是OnGetCountries方法,则需要发送这样的ajax请求。

$.getJSON("/Index?handler=Countries", function(data){
    //注意 ?handler=Countries,这样写姿势才正确。
});

姿势对了,razor pages后置代码就可以处理您的ajax请求了。

退出移动版