問題タブ [iscriptcontrol]

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 投票する
5 に答える
4195 参照

asp.net - jQuery 関数で $find を使用できないのはなぜですか?

jQuery と IScriptControls を組み合わせて使用​​していますが、どの jQuery 関数でも $find を使用できないようです。

たとえば、次のようにします。$get と $ は使用できますが、$find は使用できません。

ページがロードされたら、MainNavigation タブ コントロールから選択したタブを取得する必要があるメソッドを呼び出す必要があります (これは Infragistics UltraWebTab ですが、Infragistics の問題ではないことを確認するために独自の IScriptControls でテストしました)。

タブ インデックスは、$find を使用してのみ取得できます。$find を使用できない理由は何ですか? $find の方法でコントロールを取得するにはどうすればよいですか?

上記は、ToolBarShowGroup が jQuery 関数を呼び出してツールバーを表示および非表示にする、私がやろうとしていることです。

また、私が聞いている間、IScript コントロールに関して誰かが私の用語を修正できれば..それらは「Ajax コントロール」または「Extender コントロール」ですか、それとも何ですか? 私はそれらがすべて異なるものと呼ばれているのを見てきました。コントロールには、古い MyCompany.MyControl.prototype 宣言があります。

EDIT : 以下は完全に機能しますが、 $(document).ready 関数内にあるほうがよいでしょう。

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

c# - GetScriptReferencesは呼び出されません

私は以下を含むカスタムコントロールを作成しました:

GetScriptDescriptorsもGetScriptReferencesも呼び出されるべきではない理由を誰かが知っていますか?コントロールの他の部分は問題なく機能します。

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

asp.net - IScriptControlを介して複雑なオブジェクトをjavascriptに渡す

IScriptControlインターフェイスを使用してコードビハインドからブラウザーで実行されているカスタムjavascriptオブジェクトにデータを渡すasp.netページで遊んでいます。

IScriptControl.GetScriptDescriptors()を介していくつかのプロパティを渡していますが、1つを除いてすべて正常に機能しています。

これは、System.Collections.Generic.Dictionary<>から派生したクラスです。そして、コレクション内の要素がスカラー(int、double、strings)である限り、それでも私のために働いています。しかし、クラスのメンバーを渡そうとすると、javascriptにnullオブジェクトとして表示されました。問題のクラスは[Serializable]とマークされています。構造体に変更しても、同じ動作になりました。

IScriptControlで使用されるシリアライザーが浅いコピーを実行するように見えます。深いコピーが必要です。

何か案は?

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

asp.net - IScriptControl for Web.UI.Pageと同等のものは何ですか?

IScriptControlを使用してjavascriptオブジェクトをUserControlsとServerControlsに関連付けてきましたが、正常に機能しています。

問題は、ASP.NETがjavascriptオブジェクトをページに結び付けるメソッドを提供していないように見えることです。これまで、グローバル名前空間にプレーンな関数を配置してきましたが、私はその慣行に対して深刻なアレルギーを発症しています。

関数をjavascriptクラスにラップし、ページにjavascriptファイルを含めるのは簡単ですが、オブジェクトをインスタンス化する方法、コールバックイベントからオブジェクトを参照する方法、コードからオブジェクトにデータを渡す方法-背後で、私は理解していません。

むしろ、これまで使用してきたメソッド(非表示のフィールド、出力されたjavascript文字列など)は、本当に私を悩ませます。

誰かもっと良いアイデアがありますか?

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

c# - IscriptControl JavaScript コードをデバッグできないのはなぜですか?

Visual Studio 2008 を使用しています。コードにブレークポイントを設定しても壊れません。だから私ができる唯一のことは、firebugでfirefoxを使って「手動で」デバッグすることです。

Visual Studio でデバッグする方法はありますか?

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

javascript - jscriptでCOMイベント(activexではない)を添付する方法は?

EXE は IScriptControlPtr で jscript を呼び出します。

obj.dec = myobject_dec

しかし、jscript は COM イベントをアタッチできず、「オブジェクトはこのプロパティまたはメソッドをサポートしていません」というメッセージをスローします

次の jscript のコード:

次のコムコード:

次の実装コード

次のexeコード:

jscriptでIScript::decイベントをアタッチする方法???

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

javascript - WindowsServer2008でのMSScriptControlの問題

そのため、MSScriptControlを使用してアプリでJavaScriptを実行しており、スクリプトによって発生する可能性のあるエラーに関する情報を取得できるようにしたいと考えています。

このコードは、私の開発マシンであるWindows 7ボックスで正常に機能し、エラーのある行番号を表示します。それで、私は喜んでそれを公開して本番マシンにプッシュします。本番マシンは常に0行目でエラーが発生したことを通知し、説明は提供されていません。

http://www.microsoft.com/download/en/details.aspx?id=1949にアクセスして最新バージョンをダウンロードしようとしましたが、インストールしても効果がありませんでした。また、プロパティEmbed Interop Typesをfalseに設定し、独自のmsscript.ocxファイルをWindows 2008サーバーのsystem32ディレクトリにコピーしましたが、どちらの試行でも何も解決されませんでした。

誰か推奨事項はありますか?

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

autocompleteextender - Dynamic AutoCompleteExtender の OnClientItemSelected を登録する

AjaxControlToolkit の AutoCompleteExtender を含む UserControl を作成しました。同じページに静的に設計されたインスタンスが 1 つ以上ある場合にうまく機能します。ただし、これらのコントロールの 1 つが動的に (たとえば、UpdatePanel 内に) 追加された場合、その 1 つのコントロールの<script>ブロック (現在、ソース ビューに埋め込まれている) は使用できないようです (JavaScript は、見つからないと文句を言います)。 OnClientItemSelected に配線している関数)。

UserControl のスクリプトを PreRender イベントに登録する必要があると思われるため、ページに動的に追加された場合でも使用できます。私は ToolkitScriptManager を使用しており、ScriptManager.RegisterScriptControl(this);自分のコントロールから呼び出す必要があると想像してから、IScriptControl インターフェイスを実装します。

これは正しいアプローチですか?その場合、IScriptControl を正しく実装するには、スクリプト ブロックをソース ビューから独自の .js ファイルに移動する必要がありますか? その特定のインスタンス内のサブコントロールの ClientID を取得するためにインライン コードを呼び出すため、JS 関数を再設計する必要があります。

var hiddenField = $get('<%=this.hfItemID.ClientID%>');

スクリプト管理と JS は私の専門ではないので、プログラムで追加を開始するまでうまく機能していた UserControl を複雑にする前に、それが正しい方向であることを確認したいと思います。

アップデート

JavaScript をコード ビハインドに移動し、ClientScript として登録しています。これにより、必要な場所に少し近づくことができます。

これは、静的に配置されたコントロールでは機能しますが、動的に追加されたコントロールでは機能しません。スクリプトがソース ビューに表示されないだけです。