问题标签 [scriptcontrol]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1497 浏览

asp.net - UpdatePanel 中的 ScriptControl

我有一个ScriptControl(需要ScriptManager)用 JavaScript 来处理客户端交互ICallbackEventHandler和来回通信。一切都与页面上的一个或多个控件实例完美配合。我将控件放在GridView带有排序的 a 中,它仍然可以工作。但是,我将其GridView放入 an 中UpdatePanel,现在每当我排序时,每个实例都会出现以下错误:

Sys.InvalidOperationException: Two components with the same id 'GridView_ctl02_MyControl' can't be added to the application.

有人可以指出我如何解决这个问题的正确方向吗?我假设在尝试使用具有相同 ID 的新对象之前ScriptManager不会处理旧对象。我认为/组合会自动处理将被替换的对象?Sys.UI.Control$create()UpdatePanelScriptManager

编辑:这个页面似乎支持我的想法:http: //msdn.microsoft.com/en-us/library/system.web.ui.scriptmanager.registerdispose.aspx

使用 RegisterDispose 方法为 UpdatePanel 控件内的控件注册处置脚本。在异步回发期间,可以更新、删除或创建 UpdatePanel 控件。更新或删除面板时,会调用为 UpdatePanel 内的控件注册的任何处置脚本。在典型的页面开发场景中,您不必调用 RegisterDispose 方法。

只是为了仔细检查我alert("dispose " + this.element.id)在我的 JavaScriptdispose()函数中放置了一个。每个实例都会发出警报dispose GridView_ctl02_MyControl,但之后我收到两个组件不能具有相同名称的错误GridView_ctl02_MyControl。我很茫然...

0 投票
2 回答
4874 浏览

vbscript - JScriptTypeInfo 定义

我在 VBScript 中有以下代码:

我知道返回的对象result属于该类型JScriptTypeInfo,但我找不到有关此类型定义的任何信息,并且在 Visual Studio C# 中执行类似代码仅{System.__ComObject}在本地窗格中显示这一点。

有谁知道该JScriptTypeInfo类型的接口是什么?

0 投票
3 回答
1908 浏览

.net - 在 .NET 中评估动态字​​符串公式?

我正在做一个项目,我需要在 VB.NET 中评估一些公式。我一直在使用MS Script Control来评估一些简单的逻辑/数学公式。

但是,我现在面临处理将程序中的变量设置为特定值的字符串表达式。因此,例如,假设我有以下内容:

我需要能够评估“expressionFormula”并将 netPrice 变量设置为 0。我一直在尝试 MS Script Control 中 .AddObject 方法的不同组合,但还没有任何效果。

我应该提到这个例子只是为了说明的目的,真实的场景涉及来自一个类型化 DataSet 的几个 DataTable 对象。最后,我的DataTable中的某些字段可能需要根据这些动态表达式设置为特定的常量值。

谢谢您的帮助!

0 投票
6 回答
57551 浏览

json - Excel VBA:解析的 JSON 对象循环

下面的示例...从解析的 JSON 字符串中循环遍历对象会返回错误“对象不支持此属性或方法”。谁能建议如何使这项工作?非常感谢(在这里提问之前我花了 6 个小时寻找答案)。

将 JSON 字符串解析为对象的函数(这工作正常)。

遍历解析的对象会返回错误“对象不支持此属性或方法”。

PS。我已经查看了这些库:

- vba-json无法使示例正常工作。
- VBJSON不包含 vba 脚本(这可能有效,但不知道如何将其加载到 Excel 中,并且文档最少)。

另外,是否可以访问多维解析的 JSON 数组?只是让一个基本的键/值数组循环工作会很棒(对不起,如果要求太多)。谢谢。


编辑:这是使用 vba-json 库的两个工作示例。上面的问题仍然是一个谜......

0 投票
2 回答
501 浏览

c# - 是否可以在 C# MSScriptControl.ScriptControlClass 执行的 JScript 中休眠?

我希望能够在由 C# MSScriptControl.ScriptControlClass 执行的 JScript 中睡觉。我认为也许 WScript.Sleep() 函数可能可用,但我在尝试时收到“WScript 未定义”错误消息。我是在网络浏览器之外编写脚本的新手。我认为 MSScriptControl.ScriptControlClass 和 Windows Script Host 可能相关,但也许不是。如果脚本没有可用的睡眠功能,那么下一件最好的事情是什么?

0 投票
0 回答
527 浏览

c# - ScriptControl 似乎阻塞了 UI 线程

我目前正在用 C# 编写一个应用程序,并希望允许外部 VB 脚本以某种方式操作应用程序的基于 WPF 的 GUI。应该允许这些脚本运行很长时间并暂停它们正在运行的线程(这是一个类似于幻灯片的应用程序,其中 VBScripts 在运行时确定视图的内容)。为此,我引用了ScriptControl COM 组件并创建了我的类ComVisible。所选脚本将由ScriptingHost执行,如下所示:

为了在我的应用程序中显示图像,我在我的视图模型中使用以下方法(从 VBScript 调用):

该属性CurrentImage返回新创建的 BitmapImage ( _CurrentImage) 并绑定到我的视图上的图像控件。

当我运行一个将暂停脚本线程(给用户一些时间观看图片)的脚本时Thread.Sleep(),图像控件在事件引发后仍会获取CurrentImage属性,但不会显示图片。如果我添加DoEvents呼叫或MessageBox.Show某处,GUI 将正确更新。

我试图ShowPicture在单独的线程中显示调用该方法的图像,然后是 aThread.Sleep()并且效果很好(没有 ScriptControl COM 组件)。

ScriptControl COM 组件是否以某种方式使用 UI 线程(我已经设置AllowUIfalse),还是有其他一些神秘的 COM 东西在发生?

示例脚本:

0 投票
3 回答
24909 浏览

vba - 让 ScriptControl 与 Excel 2010 x64 一起工作

我正在尝试使用为此提供的解决方案,但是,每当我尝试运行最基本的任何东西时,都会出现Object not Defined错误。我认为这是我的错(没有安装 ScriptControl)。但是,我尝试按照此处所述进行安装,但无济于事。

我正在运行带有 Office 2010 64 位的 Windows 7 Professional x64。

0 投票
1 回答
722 浏览

asp.net - Scriptcontrol - bind client & server properties

Is it possible to bind properties on the client and server side in Scriptcontrol, so when I set property in javascript, change will be visible also in code behind and when I set property in code behind, change will be visible in javascript?

I can't get it work like above - it is set initially, when I set property where scriptcontrol is declared, but when I change it later it is still the same as before...

EDIT: I try to do a ProgressBar for long postbacks in our ASP.NET application. I have tried many options but none works for me... I want to set progress value in code behind and has it updated in view during long task postback.

Code for ScriptControl: C#:

Javascript:

I'll appreciate any way to implement this progress bar...

0 投票
2 回答
300 浏览

asp.net - 汇编嵌入式资源

如果我想使用自定义用户控件将嵌入式脚本添加到程序集中,AssemblyInfo.cs 中是否需要以下行?是否存在任何替代方案?

我正在开发具有 JS 的自定义 IScriptControl。控件的 CS 和 JS 都在同一个程序集中。在控件中,我有一行:

0 投票
1 回答
614 浏览

vb.net - 字符串加/减函数

通过使用带有 eval 函数的脚本控件,这在 VB 脚本中是一种可能性。例如

有没有办法在 Vb.Net 中做到这一点?另一种方法是简单地拆分字符串并验证它是加法还是减法,然后从那里开始工作。我只是想知道是否已经有一个我还不知道的内置函数。

谢谢