0

这似乎是一个奇怪的问题,但我确实认为这应该是可能的。

这是我想介绍的整个背景,以便您更清楚地了解我想要实现的目标。

我有一个我的项目使用的框架 dll 库。在库中,我嵌入了一个 .js 文件(我们称之为 b.js),它创建了一个 javascript 对象(bjobj),其中包含用于我所有冗余 js 所需功能的 api。

类库还包含一个类(我们称之为 bpage),它扩展了 system.web.ui.page 类并提供了额外的功能。

在 bpage 中,我创建了一个包含 Dictionary 的属性,并允许扩展 bpage 的页面将结构、可为空的结构和字符串添加到字典中。

将值添加到字典后,开发人员现在可以通过 bjob​​j 对象通过 api 方法访问 javascript 中的值。

我的 bpage 创建 json 字符串并使用 clientscript.register... 方法将其发送到 bjob​​j。

不使用隐藏变量,解析时浏览器会自动将 json 字符串识别为 json 对象。

这样做消除了在页面上使用隐藏变量的需要。

整个技术的一个大缺点是,对浏览器上的变量所做的更改无法在服务器上检索,因为一切都发生在框架 dll 中。

我现在需要一种机制,使用它不需要对扩展 bpage 的页面进行任何更改,但是从我的框架 cs 代码和 js 代码中,我可以自动将在 json 对象中所做的更改返回到服务器上。

为了实现预期的功能,我目前似乎需要两个功能。

首先,我的 bjob​​j 需要能够自动捕获任何回发事件,以便它可以在回发开始之前对 json 对象进行字符串化。

其次,必须有某种机制可以在不使用隐藏字段的情况下将字符串化的 json 发送回服务器,以便我的 bpage 可以捕获字符串并对其进行反序列化。

请提供您对我正在尝试的技术的见解。我的目标是确保我的代码库看起来更干净并提高开发速度。

4

0 回答 0