【问题标题】:What is the equivalent to IScriptControl for Web.UI.Page?Web.UI.Page 的 IScriptControl 等价于什么?
【发布时间】:2011-02-03 12:47:28
【问题描述】:

我们一直在使用 IScriptControl 将 javascript 对象绑定到我们的 UserControls 和 ServerControls,并且效果很好。

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

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

或者更确切地说,我们一直在使用的方法(隐藏字段、发出的 javascript 字符串等)真的让我很烦。

谁有更好的想法?

【问题讨论】:

    标签: asp.net iscriptcontrol


    【解决方案1】:

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

    您可以创建一些基础架构将两者联系在一起。使用脚本控件,服务器呈现 $create 语句以将属性和事件处理程序从服务器传递到客户端;回传到服务器的数据存储在隐藏变量中并在客户端(使用大多数脚本库)进行处理,因此脚本控件和 ACT 为您隐藏了很多,如果您愿意,您必须构建其中的一些自动化这个。研究客户端-服务器交互可以帮助您了解如果您想自定义该做什么。

    有趣的是,我正在为我在 codeplex 上的 Nucleo 项目(我的第三方库)考虑同样的事情,但我还没有开始。

    【讨论】:

    • 除非有人构建,否则 javascript 和页面之间没有任何关联。借助 ScriptControl,MS 构建了一个结构来为 UserControls 和 ServerControls 提供通信。对我来说,他们也没有佩奇,这似乎很奇怪。
    猜你喜欢
    • 1970-01-01
    • 2014-04-03
    • 1970-01-01
    • 2016-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    • 2023-02-02
    相关资源
    最近更新 更多