在 FubuMVC 中绑定到空的 IEnumerable 会导致绑定错误



我的模型中有一个IEnumerable<string>值属性,它从复选框数组中获取值。如果未选中任何复选框,Fubu 将响应绑定错误。

发生的事情是,Fubu寻找各种潜在的价值来源。当它最终检查 Cookie 时,它会抛出异常:

System.NotSupportedException
   в FubuMVC.Core.Http.Cookies.CookieValueSource.GetChildren(String key) в c:BuildAgentworkae412c8ad89b884bsrcFubuMVC.CoreHttpCookiesCookieValueSource.cs:строка 46
   в FubuCore.Binding.RequestData.GetEnumerableRequests(String prefixOrChild) в c:BuildAgentwork4dafc5966c0aefb4srcFubuCoreBindingRequestData.cs:строка 84
   в FubuCore.Binding.BindingContext.GetEnumerableRequests(String name) в c:BuildAgentwork4dafc5966c0aefb4srcFubuCoreBindingBindingContext.cs:строка 66
   в FubuCore.Binding.CollectionPropertyBinder.EnumerableBuilder`1.FillValues(PropertyInfo property, IBindingContext context) в c:BuildAgentwork4dafc5966c0aefb4srcFubuCoreBindingCollectionPropertyBinder.cs:строка 64
   в FubuCore.Binding.CollectionPropertyBinder.Bind(PropertyInfo property, IBindingContext context) в c:BuildAgentwork4dafc5966c0aefb4srcFubuCoreBindingCollectionPropertyBinder.cs:строка 35
   в FubuCore.Binding.StandardModelBinder.<>c__DisplayClassc.b__b(IPropertyContext propertyContext) в c:BuildAgentwork4dafc5966c0aefb4srcFubuCoreBindingStandardModelBinder.cs:строка 68
   в FubuCore.Binding.BindingContext.ForProperty(PropertyInfo property, Action`1 action) в c:BuildAgentwork4dafc5966c0aefb4srcFubuCoreBindingBindingContext.cs:строка 106
绑定

代码将此异常解释为绑定失败,并返回以下延续("Packages"是属性的名称):

{"success":false,"refresh":false,"errors":[{"category":null,"field":"Packages","label":"en-US_Packages","message":"Data is formatted incorrectly"}]}

除了添加假隐藏字段之外,我如何正确执行此操作?我使用的是最新的公共NuGets:FubuCore 1.1.0和FubuMVC.Core 1.1.0。

看起来这是最近修复的

最新更新