問題タブ [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
クライアント側の対話を処理し、前後に通信するために、JavaScript を使用したScriptControl
(が必要) があります。ページ上のコントロールの 1 つまたは複数のインスタンスで、すべてが完全に機能します。並べ替えを使用してコントロールを内部に配置しましたが、それでも機能します。ただし、を配置すると、並べ替えるたびに、インスタンスごとに次のエラーが発生します。ScriptManager
ICallbackEventHandler
GridView
GridView
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
が、その後、2 つのコンポーネントが同じ名前を持つことはできないというエラーが表示されます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ライブラリを使用した2つの実用的な例を次に示します。上記の質問はまだ謎です...
c# - C# MSScriptControl.ScriptControlClass で実行される JScript でスリープすることは可能ですか?
C# MSScriptControl.ScriptControlClass によって実行される JScript でスリープできるようにしたいと考えています。おそらく WScript.Sleep() 関数が利用できるのではないかと思ったのですが、それをしようとすると「WScript is undefined」というエラー メッセージが表示されます。Web ブラウザ以外でスクリプトを作成するのは初めてです。MSScriptControl.ScriptControlClass と Windows Script Host は関連があるのではないかと思っていましたが、そうではないかもしれません。スクリプトで使用できるスリープ機能がない場合、次善の策は何でしょうか?
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 処理が行われているのでしょうか?
スクリプト例:
asp.net - Scriptcontrol - クライアントとサーバーのプロパティをバインドする
Scriptcontrol でクライアント側とサーバー側のプロパティをバインドすることは可能ですか?
上記のように機能させることはできません-scriptcontrolが宣言されているプロパティを設定すると、最初に設定されますが、後で変更すると、以前と同じです...
編集: ASP.NET アプリケーションで長いポストバックのために ProgressBar を実行しようとしています。多くのオプションを試しましたが、どれもうまくいきません...コードビハインドで進行状況の値を設定し、長いタスクのポストバック中にビューで更新したいと考えています。
ScriptControl のコード: C#:
Javascript:
このプログレスバーを実装する方法に感謝します...
asp.net - アセンブリ埋め込みリソース
カスタムユーザーコントロールを使用して埋め込みスクリプトをアセンブリに追加する場合、AssemblyInfo.csで以下の行が必要ですか?これに代わるものはありますか?
私はJSを持つカスタムIScriptControlを開発しています。コントロールのCSとJSの両方が同じアセンブリにあります。コントロールには、次の行があります。
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