我无法编辑内容类型字段,错误已添加具有相同键的项目
Im not able to edit content type fields, error An item with the same key has already been added
我在尝试编辑内容类型的字段时遇到此错误。尝试列出内容字段的项目时出现同样的问题。
“已添加具有相同键的项目。”
堆栈跟踪
" 在 System.ThrowHelper.ThrowArgumentException(ExceptionResource 资源)\r\n 在 System.Collections.Generic.Dictionary2.Insert(TKey key, TValue value, Boolean add)\r\n at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable
1 来源,Func2 keySelector, Func
2 elementSelector,IEqualityComparer1 comparer)\r\n at ToSic.Eav.WebApi.ContentTypeApi.<>c__DisplayClass17_0.<GetFields>b__1(IContentTypeAttribute a)\r\n at System.Linq.Enumerable.WhereSelectEnumerableIterator
2.MoveNext()\r\n at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeList(JsonWriter writer, IEnumerable values, JsonArrayContract contract, JsonProperty member, JsonContainerContract collectionContract, JsonProperty containerProperty)\r\n at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeValue(JsonWriter writer, Object value, JsonContract valueContract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerProperty)\r\n at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.Serialize(JsonWriter jsonWriter, Object value, Type objectType)\r\n at Newtonsoft.Json.JsonSerializer.SerializeInternal( JsonWriter jsonWriter, Object value, Type objectType)\r\n at System.Net.Http.Formatting.BaseJsonMediaTypeFormatter.WriteToStream(Type 类型, Object value, Stream writeStream, Encoding effectiveEncoding)\r\n at System.Net.Http.Formatting.JsonMediaTypeFormatter.WriteToStream(Type 类型, 对象值, Stream writeStream, Encoding effectiveEncoding)\r\n at System.Net.Http.Formatting.BaseJsonMediaTypeFormatter.WriteToStream(Type type, Object value, Stream writeStream, HttpContent content)\r\n at System.Net.Http.Formatting.BaseJsonMediaTypeFormatter.WriteToStreamAsync(Type type, Object value,流 writeStream,HttpContent 内容,Transp ortContext transportContext, CancellationToken cancellationToken)\r\n--- 从先前抛出异常的位置开始的堆栈跟踪结束 ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Tracing.ITraceWriterExtensions.d__24.MoveNext()\r\n--- 从先前抛出异常的位置开始的堆栈跟踪结束 ---\r\n 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)\r\n 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)\r\n 在 System.Web.Http.WebHost.HttpControllerHandler。d__1b.MoveNext()" =13=]
我仍然可以使用模板中的按钮添加或编辑新项目,并且可以从数据选项卡中添加项目。
我不知道问题是什么时候开始的,因为可以添加或编辑项目,但今天我尝试在某些字段中添加验证,但出现错误。
知道会发生什么吗?
我仔细研究了一些见解,发现我的内容类型有一个具有重复键的属性,我删除了重复的条目并重新开始工作,现在我可以编辑字段了。
列出所有项目的问题与我的字符串字段(表情符号)中的一些 Unicode 字符有关,管理员模式下似乎不允许使用 Unicode 字符。字段在查看模式下正常显示。
我在尝试编辑内容类型的字段时遇到此错误。尝试列出内容字段的项目时出现同样的问题。
“已添加具有相同键的项目。”
堆栈跟踪
" 在 System.ThrowHelper.ThrowArgumentException(ExceptionResource 资源)\r\n 在 System.Collections.Generic.Dictionary2.Insert(TKey key, TValue value, Boolean add)\r\n at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable
1 来源,Func2 keySelector, Func
2 elementSelector,IEqualityComparer1 comparer)\r\n at ToSic.Eav.WebApi.ContentTypeApi.<>c__DisplayClass17_0.<GetFields>b__1(IContentTypeAttribute a)\r\n at System.Linq.Enumerable.WhereSelectEnumerableIterator
2.MoveNext()\r\n at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeList(JsonWriter writer, IEnumerable values, JsonArrayContract contract, JsonProperty member, JsonContainerContract collectionContract, JsonProperty containerProperty)\r\n at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeValue(JsonWriter writer, Object value, JsonContract valueContract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerProperty)\r\n at Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.Serialize(JsonWriter jsonWriter, Object value, Type objectType)\r\n at Newtonsoft.Json.JsonSerializer.SerializeInternal( JsonWriter jsonWriter, Object value, Type objectType)\r\n at System.Net.Http.Formatting.BaseJsonMediaTypeFormatter.WriteToStream(Type 类型, Object value, Stream writeStream, Encoding effectiveEncoding)\r\n at System.Net.Http.Formatting.JsonMediaTypeFormatter.WriteToStream(Type 类型, 对象值, Stream writeStream, Encoding effectiveEncoding)\r\n at System.Net.Http.Formatting.BaseJsonMediaTypeFormatter.WriteToStream(Type type, Object value, Stream writeStream, HttpContent content)\r\n at System.Net.Http.Formatting.BaseJsonMediaTypeFormatter.WriteToStreamAsync(Type type, Object value,流 writeStream,HttpContent 内容,Transp ortContext transportContext, CancellationToken cancellationToken)\r\n--- 从先前抛出异常的位置开始的堆栈跟踪结束 ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Tracing.ITraceWriterExtensions.d__24.MoveNext()\r\n--- 从先前抛出异常的位置开始的堆栈跟踪结束 ---\r\n 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务)\r\n 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)\r\n 在 System.Web.Http.WebHost.HttpControllerHandler。d__1b.MoveNext()" =13=]
我仍然可以使用模板中的按钮添加或编辑新项目,并且可以从数据选项卡中添加项目。
我不知道问题是什么时候开始的,因为可以添加或编辑项目,但今天我尝试在某些字段中添加验证,但出现错误。
知道会发生什么吗?
我仔细研究了一些见解,发现我的内容类型有一个具有重复键的属性,我删除了重复的条目并重新开始工作,现在我可以编辑字段了。
列出所有项目的问题与我的字符串字段(表情符号)中的一些 Unicode 字符有关,管理员模式下似乎不允许使用 Unicode 字符。字段在查看模式下正常显示。