首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多个ScriptControl实例共享变量

多个ScriptControl实例共享变量
EN

Stack Overflow用户
提问于 2010-10-20 18:51:42
回答 1查看 222关注 0票数 0

我有一个ScriptControl,它使用图像作为嵌入式资源,GetWebResourceUrl生成WebResource.axd URL。我目前正在使用GetScriptDescriptors()将URL发送到JavaScript对象。

ScriptControl可以在Repeater中,所以您可能有20+实例。它们都使用相同的图像(不能通过属性进行自定义),所以我想在变量中设置URL一次并共享它。我知道我可以用一个全局变量注册一个脚本块,但是如果可能的话,我想避免这样做。是否有方法在控件类型的范围内设置变量(全局-> 控件类型 ->控件实例)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-10-20 19:06:31

这似乎很有效:

代码语言:javascript
复制
        string imagesScript = String.Format(
            "MyNamespace.MyClass.prototype.imgDisabled = '{0}';" +
            "MyNamespace.MyClass.prototype.imgEnabled = '{1}';",
            Page.ClientScript.GetWebResourceUrl(typeof(MyClass), "MyNamespace.disabled.png"),
            Page.ClientScript.GetWebResourceUrl(typeof(MyClass), "MyNamespace.enabled.png")
        );

        Page.ClientScript.RegisterStartupScript(typeof(MyClass), "Images", imagesScript, true);

然后,在我的对象中,我只做this.imgDisabledthis.imgEnabled来获取URL。

编辑:另一个选项是在AssemblyInfo.cs中,您将JavaScript引用设置为WebResource(..., PerformSubstitution = true),那么您的.js文件可以在任何您想要的地方拥有<%= WebResource("MyNamespace.enabled.png") %>。这可以是您实际使用它的地方,也可以是添加对象原型的地方。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3981261

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档