这似乎是一个奇怪的问题,但我确实认为它应该是可能的。
以下是我想提供的整个背景,以便您更清楚地了解我正在努力实现的目标。
我有一个我的项目使用的框架DLL库。 在库中,我嵌入了一个.js文件(让我们称之为b.js),它创建了一个javascript对象(bjobj),其中包含了所有冗余js所需功能的api。
类库还包含一个类(让我们称之为bpage),它扩展了system.web.ui.page类并提供了其他功能。
在bpage中,我创建了一个包含Dictionary的属性,并允许扩展bpage的页面将字符串,可为空的结构和字符串添加到字典中。
一旦将值添加到字典中,开发人员现在可以通过api方法通过bjobj对象访问javascript中的值。
我的bpage创建了json字符串,并使用clientscript.register ...方法将其发送到bjobj。
在解析过程中,没有使用隐藏变量,浏览器会自动将json字符串识别为json对象。
这样就无需在页面上使用隐藏变量。
这整个技术的一大缺点是,对浏览器中的变量所做的更改无法在服务器上重新启动,因为所有内容都是从框架dll发生的。
我现在需要一种机制,使用该机制不需要对扩展bpage的页面进行任何更改,但是从我的框架cs代码和js代码中,我可以自动将json对象中所做的更改返回到服务器上。
为了实现意图功能,我目前似乎需要两个功能。
首先,我的bjobj需要能够自动捕获任何回发事件,以便它可以在回发开始之前对json对象进行字符串化。
其次,必须有一些机制可以使用它来将字符串化的json发送回服务器而不使用隐藏字段,这样我的bpage就可以捕获字符串并对其进行反序列化。
请提供您对我正在尝试的技术的见解。 我的目标是确保我的代码库看起来更清晰,并且可以提高开发速度。