我有以下代码行在 C# (Silverlight) 中打开网页模式对话框:
var so = (ScriptObject)HtmlPage.Window.Invoke(
"showModalDialog",
modalWindowUrl,
dialogArgs,
"dialogWidth:600px;dialogHeight:600px;");
现在,在我正在显示的页面上调用了类似于以下的代码,我需要确保它获取我试图传递的值(这是我无法控制的 MSCRM 网页):
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 字符串......但我猜这最终只是作为 JavaScript 中的一个字符串而不是一个 JSON 对象。
任何想法我如何让它工作?
一些旁注:
- 我无法让 IE 调试由此调用产生的模式对话框。我可以显示调试工具,但它不会附加到页面,因为它无法刷新它。
- 我无法控制此模式对话框。这是一个使用 MS Dynamics CRM 显示的页面。出于这个原因,我不能乱用 JavaScript 或任何东西来测试东西。