2

我有一个 json 字符串,我试图从我的 javascript 传递到 silverlight 命令。这是我试图运行的代码行:

silverlightPlugin.Content.essentialsViewer.RunCommand("findShapeInArea", "{'area':0,'shape':77}");

这在 Visual Studio 2010 中有效,但是当我将其上传到 IIS7 并进行测试时,它运行时出现此错误:

“System.ArgumentException:无法将整数转换为字符串。在 System.Windows.Browser.ManagedObjectInfo.Invoke(ManagedObject obj,InvokeType invokeType,String memberName,ScriptParam [] args)在 System.Windows.Hosting.ManagedHost.InvokeScriptableMember(IntPtr pHandle , Int32 nMemberID, Int32 nInvokeType, Int32 nArgCount, ScriptParam[] pArgs, ScriptParam& pResult, ExceptionInfo& pExceptInfo)"

我不确定为什么它认为它正在尝试将 Integer 转换为 String。有谁知道这里发生了什么?

4

1 回答 1

0

好的,我发现了这个问题。当像我在上面所做的那样传递一个 json 字符串时,如果参数要求一个字符串,那么 json 对象内的所有内容都必须是字符串类型,即使它已经是一个整体的字符串。所以下面的代码有效:

silverlightPlugin.Content.essentialsViewer.RunCommand("findShapeInArea", "{'area':'0','shape':'77'}");
于 2012-11-07T02:01:18.380 回答