2

JavaScript から Silverlight コマンドに渡そうとしている json 文字列があります。これは私が実行しようとしているコード行です:

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)"

整数を文字列に変換しようとしていると考える理由がわかりません。ここで何が起こっているか知っている人はいますか?

4

1 に答える 1

0

わかりました、問題を理解しました。上記のようにjson文字列を渡す場合、パラメーターが文字列を要求している場合、jsonオブジェクト内のすべては、すでに全体として文字列であっても、文字列型である必要があります。したがって、以下のコードは機能しました:

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