c# - ASP.NET PageMethods 和错误 "The HTTP verb POST used to access path is not allowed"

标签 c# asp.net webforms url-routing

我正在使用 WebForms 的 URL 路由。我通过 Visual Studio Web 服务器在本地运行,一切都运行正常。我在本地部署到 IIS(XP,所以它是 IIS5),因此我需要确保我的应用程序通配符已映射,以便正确处理 URL 路由。

但是,这样做会使我的所有 PageMethods 失败并显示以下消息:

The HTTP verb POST used to access path is not allowed

类似/default.aspx/SendMessage 的东西不起作用。我见过排除 .svx 和 .asmx 文件的解决方案,但是,由于这是一种页面方法,因此这是一个 .aspx 文件。我知道解决方案是将这些文件移到 .aspx 之外,但是,我在整个站点的这些不同文件中拥有相当多的功能。我想我可以创建一个 Web 服务,并在那里拥有所有功能,但是,我很好奇是否有一种快速简便的方法来解决这个问题?

最佳答案

在定义 PageMethod 之后、调用 PageMethod 之前,将以下代码添加到 javascript 中:

PageMethods.set_path('default.aspx');

这应该可以解决问题。

关于c# - ASP.NET PageMethods 和错误 "The HTTP verb POST used to access path is not allowed",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1930101/

相关文章:

c# - DllImport - C 类型到 .NET 类型

c# - Input.GetMouseButtonUp 不可靠。 (统一)

sql - 调试发现错误 "Error converting data type varchar to real"

asp.net - 使用服务标识时无法连接到 Azure Key Vault

javascript - 使用 jQuery 在 gridview 中查找选中行的值

c# - EF TPH 继承查询

C# - 仅使用线程运行立即函数?

c# - 如何遍历通用 List<T> 并按 3 项进行分组

xml - 是否有一个好的开源、基于 XSD 的 Web 编辑器?

c# - 我可以使用 jquery 下拉列表而不是 ASP.NET