对于Web.UI.Page,IScriptControl的等价物是什么?

时间:2010-04-01 20:04:42

标签: asp.net iscriptcontrol

我们一直在使用IScriptControl将javascript对象绑定到UserControls和ServerControls,并且工作正常。

问题是ASP.NET似乎没有提供将javascript对象绑定到Page的方法。到目前为止,我们已经将普通函数放在全局命名空间中,但我对这种做法产生了严重的过敏。

很容易将我们的函数包装到javascript类中,并在页面上包含javascript文件,但是如何实例化对象,如何从回调事件中引用它,以及如何将数据传递给它从代码隐藏,我还没想通。

或者说,我们到目前为止使用的方法(隐藏字段,发出的javascript字符串等)确实让我感到烦恼。

任何人都有更好的想法?

1 个答案:

答案 0 :(得分:0)

JS文件和页面之间没有任何关联,除非您构建它。使用脚本控件,存储状态的常见做法是隐藏字段(ACT使用此方法)。与服务器通信的唯一其他方式是通过Web服务调用,表单发布数据或通过调用__doPostBack(但不是AJAX)。

您可以创建一些基础架构来将两者链接在一起。使用脚本控件,服务器呈现$ create语句以将属性和事件处理程序从服务器传递到客户端;发布回服务器的数据存储在隐藏变量中并在客户端上处理(大多数脚本库),因此脚本控件和ACT会为您隐藏很多这样的内容,如果你想要的话,你必须构建一些这样的自动化这个。研究客户端 - 服务器交互可能有助于您了解如果要自定义此操作该怎么做。

有趣的是,我在编码复合体上对我的Nucleo项目(我的第三方库)也有同样的想法,但我还没有接触到它。