javascript - 我们可以从 JavaScript Post 方法调用 aspx.cs 中的非静态函数吗
问题描述
我想详细了解这些调用是如何工作的。我知道我们可以在派生自System.Web.Services.WebService的 Web 窗体中声明一个服务类,并且可以在使用此[WebMethod(EnableSession = true)]声明函数后从 JavaScript 调用此服务类中的函数。
我的 aspx 页面及其后端 aspx.cs 文件仅包含公共类。有什么方法可以在这些aspx.cs文件和这些公共类中调用函数。静态和非静态函数都有。如果不是,它背后的原因是什么,如果是,那么它是如何工作的。
这篇文章是为了更深入地了解 Web 表单的结构和工作方式。
解决方案
方法必须是静态的。每个页面的静态方法完全相同。因为它是一个网页,所以多个用户可以访问它。如果您网站上的 4 个用户打开了页面,并且某个方法显示“Do x”,那么它必须能够为每个人做完全相同的事情。
例如,对页面方法的一个常见误解:您无法从静态 WebMethod/Page Method 访问页面上的控件。如果方法说“更新此控件”,应该在哪个页面上更新哪个控件?用户 1、2、3 还是 4?这是不可能知道的。
您必须将数据/信息从代码隐藏方法返回到调用该方法的 javascript 方法,然后从 javascript 方法更新页面的控件。
嗯。
推荐阅读
- time-complexity - 证明 5n^2 + 2n - 1 对于 n >= 1 是 O(n^2)
- css - css/sass 中样式切换开关的问题
- html - Flexbox(flex-direction:column):当一个孩子具有固定宽度时,包裹的孩子没有正确定位
- python - 正确转换 TF 2 中的 contrib.HashTable 用法
- python - 将不规则形状的数组导入 Python
- hibernate - 如何在 JHipster 中启用休眠统计?
- javascript - 如何获取存储在 BD 中的 2 个具有相同 ID 的变量?
- java - 如何从dailymotion下载视频?
- python - 在调用随机 x 和 y 后,Bokeh Graph Jupyter 上没有显示数据
- python - 删除特定行中具有特定值的所有列