【发布时间】:2021-05-03 11:29:19
【问题描述】:
考虑一下 aspx 页面后面的以下代码:
protected void onBtnClick(object sender, EventArgs e)
{
}
是否可以创建/制作POST 请求 (HTTPWebRequest/HttpClient) 来调用 aspx 页面后面的事件处理程序?
谢谢
【问题讨论】:
-
不是直接的——你需要某种网络服务前端,例如ASP.NET MVC 或旧旧
.asmx或 WCF 服务上的 Web 服务方法。 ASP.NET Webforms (.aspx) 实际上没有任何可以从外部调用的能力 -
这是不可能的,因为该事件处理程序需要/期望的是有关单击按钮的页面状态的大量上下文。没有指向该方法的直接 URL。这一切都与 asp.net webforms 的页面生命周期有关(这是一个讨厌的、复杂的野兽,总是不适合它被硬塞进的 web 应用程序环境(从桌面 winforms 复制)。正如 marc_s 所说,你需要一个单独的 web某种服务。ASP.NET 在这方面提供了完整的选择菜单。
标签: c# asp.net web-services webforms