問題タブ [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

クライアント側の対話を処理し、前後に通信するために、JavaScript を使用したScriptControl(が必要) があります。ページ上のコントロールの 1 つまたは複数のインスタンスで、すべてが完全に機能します。並べ替えを使用してコントロールを内部に配置しましたが、それでも機能します。ただし、を配置すると、並べ替えるたびに、インスタンスごとに次のエラーが発生します。ScriptManagerICallbackEventHandlerGridViewGridViewUpdatePanel

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が、その後、2 つのコンポーネントが同じ名前を持つことはできないというエラーが表示されます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ライブラリを使用した2つの実用的な例を次に示します。上記の質問はまだ謎です...

0 投票する
2 に答える
501 参照

c# - C# MSScriptControl.ScriptControlClass で実行される JScript でスリープすることは可能ですか?

C# MSScriptControl.ScriptControlClass によって実行される JScript でスリープできるようにしたいと考えています。おそらく WScript.Sleep() 関数が利用できるのではないかと思ったのですが、それをしようとすると「WScript is undefined」というエラー メッセージが表示されます。Web ブラウザ以外でスクリプトを作成するのは初めてです。MSScriptControl.ScriptControlClass と Windows Script Host は関連があるのではないかと思っていましたが、そうではないかもしれません。スクリプトで使用できるスリープ機能がない場合、次善の策は何でしょうか?

0 投票する
0 に答える
527 参照

c# - ScriptControl が UI スレッドをブロックしているようです

私は現在 C# でアプリケーションを作成しており、外部の VB スクリプトが何らかの方法でアプリケーションの WPF ベースの GUI を操作できるようにしたいと考えています。これらのスクリプトは、非常に長時間実行し、実行中のスレッドを一時停止できるようにする必要があります (これは、実行時に VBScript がビューの内容を決定する小さなスライドショーのようなアプリケーションです)。これを実現するために、ScriptControl COM コンポーネントを参照し、クラスをComVisibleにしました。選択したスクリプトは、次のようにScriptingHostによって実行されます。

アプリケーションで画像を表示するには、ビュー モデルで次のメソッドを使用します (VBScript から呼び出します)。

プロパティCurrentImageは、新しく作成された BitmapImage ( _CurrentImage) を返し、ビューのイメージ コントロールにバインドされます。

スクリプト スレッドを一時停止するスクリプトを実行すると (ユーザーが画像を見る時間を与えるため) 、イベントが発生した後Thread.Sleep()も画像コントロールはCurrentImageプロパティを取得しますが、画像は表示されません。DoEvents呼び出しまたはどこかを追加するとMessageBox.Show、GUI が適切に更新されます。

ShowPicture別のスレッドでメソッドを呼び出し、その後に a が続く画像を表示しようとしましたがThread.Sleep()、これはうまく機能します (ScriptControl COM コンポーネントなし)。

ScriptControl COM コンポーネントは何らかの方法で UI スレッドを使用していますか (私は既に に設定AllowUIしていますfalse)、それとも何か他の不可解な COM 処理が行われているのでしょうか?

スクリプト例:

0 投票する
3 に答える
24909 参照

vba - ScriptControlをExcel2010x64で動作させる

私はこれに与えられた解決策を使おうとしていますが、最も基本的なものを実行しようとすると、Object not Definedエラーが発生します。これは私のせいだと思いました(ScriptControlをインストールしていません)。しかし、ここで説明されているようにインストールしようとしましたが、役に立ちませんでした。

Office201064ビットでWindows7Professionalx64を実行しています。

0 投票する
1 に答える
722 参照

asp.net - Scriptcontrol - クライアントとサーバーのプロパティをバインドする

Scriptcontrol でクライアント側とサーバー側のプロパティをバインドすることは可能ですか?

上記のように機能させることはできません-scriptcontrolが宣言されているプロパティを設定すると、最初に設定されますが、後で変更すると、以前と同じです...

編集: ASP.NET アプリケーションで長いポストバックのために ProgressBar を実行しようとしています。多くのオプションを試しましたが、どれもうまくいきません...コードビハインドで進行状況の値を設定し、長いタスクのポストバック中にビューで更新したいと考えています。

ScriptControl のコード: C#:

Javascript:

このプログレスバーを実装する方法に感謝します...

0 投票する
2 に答える
300 参照

asp.net - アセンブリ埋め込みリソース

カスタムユーザーコントロールを使用して埋め込みスクリプトをアセンブリに追加する場合、AssemblyInfo.csで以下の行が必要ですか?これに代わるものはありますか?

私はJSを持つカスタムIScriptControlを開発しています。コントロールのCSとJSの両方が同じアセンブリにあります。コントロールには、次の行があります。

0 投票する
1 に答える
614 参照

vb.net - String Addition / Subtraction Function

This was a possibility in VB Script by using a script control with the eval function. For example

Is there a way to do this in Vb.Net? The alternative would be to simply split up the string and verify if it is an addition or a subtracting and work from there. I was just wondering if there's already a built in function that I'm not yet aware of.

Thank you