C#(Silverlight)でWebページのモーダルダイアログを開くための次のコード行があります。
var so = (ScriptObject)HtmlPage.Window.Invoke(
"showModalDialog",
modalWindowUrl,
dialogArgs,
"dialogWidth:600px;dialogHeight:600px;");
これで、表示しているページで次のようなコードが呼び出され、渡そうとしている値を確実に取得する必要があります(これは、制御できないMSCRM Webページです)。
dialogArgs.items <-- will be an array I pass in
dialogArgs.items[i].getAttribute("oid") <-- will return something
dialogArgs.items[i].getAttribute("otype") <-- will return something
dialogArgs.items[i].values <-- will return something
私が(私のC#コードから)送信しようとしたのはこれです:
dialogArgs = @"{items:[{oid:" + id + ",otype:" + type + "}]}";
これはJSON文字列になります...しかし、これはJSONオブジェクトではなく、JavaScript内の文字列として終わると思います。
これをどのように機能させるかについてのアイデアはありますか?
いくつかのサイドノート:
- この呼び出しの結果として生じるモーダルダイアログをIEにデバッグさせることができません。デバッグツールを表示することはできますが、ページを更新できないため、ページに添付されません。
- このモーダルダイアログを制御することはできません。これは、MSDynamicsCRMを使用して表示されるページです。そのため、JavaScriptなどをテストするために何かをいじることはできません。