当尝试通过javascript在ajax调用中编辑和保存记录时,我收到上述主题错误。
我做了一些查找,我唯一能找到的就是“compareByIdentity”属性,我无法在我的情况下如何实现,如果是这样的话。
以下课程是一对多的关系。许多“时间轨迹”可能有一个“项目”。这是“TimeTrackings”的类,其中“ProjectID”是外键。
我正在使用WCF应用程序使用EF 6检索和编辑数据。这是我第一次在我的应用程序中遇到它。显然,由于建立关系的方式。
有人可以告诉我如何更正此错误吗?
namespace YeagerTechDB.Models
{
using System;
using System.ComponentModel.DataAnnotations;
using System.Runtime.Serialization;
[Serializable, DataContract(IsReference = true)]
public partial class TimeTracking
{
[Key]
[ScaffoldColumn(false)]
[Editable(false)]
[Display(Name = "Tracking ID")]
[DataMember]
public int TimeTrackingID { get; set; }
[Required]
[Display(Name = "Project ID")]
[DataMember]
public short ProjectID { get; set; }
[Required]
[DataType(DataType.Date)]
[DataMember]
public DateTime StartDate { get; set; }
[Required]
[DataType(DataType.Date)]
[DataMember]
public DateTime EndDate { get; set; }
[DataType(DataType.MultilineText)]
[DataMember]
public string Notes { get; set; }
[DataType(DataType.DateTime)]
[DataMember]
public DateTime CreatedDate { get; set; }
[DataType(DataType.DateTime)]
[DataMember]
public DateTime? UpdatedDate { get; set; }
[DataMember]
public virtual Project Project { get; set; }
}
}
调试的输出如下。请复制图像并将其粘贴到您最喜欢的图像查看器中以获得更好的细节。
请注意,TimeTrackingID的值已正确设置为1。
答案 0 :(得分:6)
问题来自第66行的JSON.stringify
。
您正在将对象Tracking_Input
转换为json。
Tracking_Input.TimeTrackingID
是一个带有ID TimeTrackingID的dom元素的jquery数组,但这不能转换为json。
您的意思是$('TimeTrackingID').val()
与其他行匹配