问题标签 [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.
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()
UpdatePanel
ScriptManager
编辑:这个页面似乎支持我的想法: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
。我很茫然...
vbscript - JScriptTypeInfo 定义
我在 VBScript 中有以下代码:
我知道返回的对象result
属于该类型JScriptTypeInfo
,但我找不到有关此类型定义的任何信息,并且在 Visual Studio C# 中执行类似代码仅{System.__ComObject}
在本地窗格中显示这一点。
有谁知道该JScriptTypeInfo
类型的接口是什么?
.net - 在 .NET 中评估动态字符串公式?
我正在做一个项目,我需要在 VB.NET 中评估一些公式。我一直在使用MS Script Control来评估一些简单的逻辑/数学公式。
但是,我现在面临处理将程序中的变量设置为特定值的字符串表达式。因此,例如,假设我有以下内容:
我需要能够评估“expressionFormula”并将 netPrice 变量设置为 0。我一直在尝试 MS Script Control 中 .AddObject 方法的不同组合,但还没有任何效果。
我应该提到这个例子只是为了说明的目的,真实的场景涉及来自一个类型化 DataSet 的几个 DataTable 对象。最后,我的DataTable中的某些字段可能需要根据这些动态表达式设置为特定的常量值。
谢谢您的帮助!
json - Excel VBA:解析的 JSON 对象循环
下面的示例...从解析的 JSON 字符串中循环遍历对象会返回错误“对象不支持此属性或方法”。谁能建议如何使这项工作?非常感谢(在这里提问之前我花了 6 个小时寻找答案)。
将 JSON 字符串解析为对象的函数(这工作正常)。
遍历解析的对象会返回错误“对象不支持此属性或方法”。
PS。我已经查看了这些库:
- vba-json无法使示例正常工作。
- VBJSON不包含 vba 脚本(这可能有效,但不知道如何将其加载到 Excel 中,并且文档最少)。
另外,是否可以访问多维解析的 JSON 数组?只是让一个基本的键/值数组循环工作会很棒(对不起,如果要求太多)。谢谢。
编辑:这是使用 vba-json 库的两个工作示例。上面的问题仍然是一个谜......
c# - 是否可以在 C# MSScriptControl.ScriptControlClass 执行的 JScript 中休眠?
我希望能够在由 C# MSScriptControl.ScriptControlClass 执行的 JScript 中睡觉。我认为也许 WScript.Sleep() 函数可能可用,但我在尝试时收到“WScript 未定义”错误消息。我是在网络浏览器之外编写脚本的新手。我认为 MSScriptControl.ScriptControlClass 和 Windows Script Host 可能相关,但也许不是。如果脚本没有可用的睡眠功能,那么下一件最好的事情是什么?
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 线程(我已经设置AllowUI
为false
),还是有其他一些神秘的 COM 东西在发生?
示例脚本:
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...
asp.net - 汇编嵌入式资源
如果我想使用自定义用户控件将嵌入式脚本添加到程序集中,AssemblyInfo.cs 中是否需要以下行?是否存在任何替代方案?
我正在开发具有 JS 的自定义 IScriptControl。控件的 CS 和 JS 都在同一个程序集中。在控件中,我有一行:
vb.net - 字符串加/减函数
通过使用带有 eval 函数的脚本控件,这在 VB 脚本中是一种可能性。例如
有没有办法在 Vb.Net 中做到这一点?另一种方法是简单地拆分字符串并验证它是加法还是减法,然后从那里开始工作。我只是想知道是否已经有一个我还不知道的内置函数。
谢谢