我有一个json字符串,我试图从我的javascript传递给silverlight命令。这是我正在尝试运行的代码行:
silverlightPlugin.Content.essentialsViewer.RunCommand("findShapeInArea", "{'area':0,'shape':77}");
这适用于Visual Studio 2010,但是当我将其上传到IIS7并进行测试时,我会在运行时收到此错误:
“System.ArgumentException:无法将Integer转换为String。在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。有谁知道这里发生了什么?
答案 0 :(得分:0)
好的,我发现了这个问题。当传递json字符串时,如果参数是要求字符串,那么json对象内部的所有内容都必须是字符串类型,即使它已经是一个字符串整体。所以下面的代码有效:
silverlightPlugin.Content.essentialsViewer.RunCommand("findShapeInArea", "{'area':'0','shape':'77'}");