Javascript可观察集合计数

Javascript可观察集合计数,javascript,silverlight,Javascript,Silverlight,我正在访问javascript中的Silverlight ObservableCollection计数,但我得到以下错误 Microsoft JScript runtime error: System.FormatException: Input string was not in a correct format. at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& num

我正在访问javascript中的Silverlight ObservableCollection计数,但我得到以下错误

Microsoft JScript runtime error: System.FormatException: Input string was not in a correct format.
   at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
   at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
   at System.String.System.IConvertible.ToInt32(IFormatProvider provider)
   at System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider)
   at System.Windows.Hosting.ScriptingInterface.GetScriptParamValueForType(ScriptParam scriptParam, Type desiredType)
   at System.Windows.Hosting.ScriptingInterface.ConvertFromScriptParams(Type[] desiredTypes, ScriptParam[] args)
   at System.Windows.Browser.ManagedObjectInfo.ListIndexerMember.Invoke(ManagedObject obj, InvokeType invokeType, ScriptParam[] args)
   at System.Windows.Browser.ManagedObjectInfo.Invoke(ManagedObject obj, InvokeType invokeType, String memberName, ScriptParam[] args)
   at System.Windows.Hosting.ManagedHost.InvokeScriptableMember(IntPtr pHandle, Int32 nMemberID, Int32 nInvokeType, Int32 nArgCount, ScriptParam[] pArgs, ScriptParam& pResult, ExceptionInfo& pExcepInfo)
我正在使用以下代码,其中children是自定义对象的可观察集合

            reg.OnDropping = function (sender, args) {
                if (args.toItem.Children.Count > 0) {
                    args.cancel = true;
                }
                else {
                    args.cancel = false;
                }
            }
有没有其他方法可以访问Javascript中的计数

问候,,
Karthik

您是否已将observablecollection设置为ScriptableMember?您需要添加此属性,以便在javascript中可用。有关详细信息,请查看以下链接:


我希望它能有所帮助。

为了从Javascript访问对象的属性,该属性需要标记为
ScriptableMember
属性,或者它所属的类标记为
ScriptableType
。对于
ObservaleCollection
类,这两种方法都不适用

一个实用的解决方案是向自定义对象添加
haschilds
属性:-

 [ScriptableMember]
 public bool HasChildren
 {
      get { return Children.Count > 0; }
 }

为了访问Count属性,它也不需要是ScriptableMember吗?是的,你是对的@AnthonyWJones。在这种情况下,如您所述,向类添加属性更合适。谢谢