当我尝试为模型中的变量赋值时出现错误。
我有以下模型设置
public class ComplianceTicketFullDetailsModel
{
public int ComplianceTicketID { get; set; }
public string TicketDescription { get; set; }
public string TicketStatus { get; set; }
public string FinalDecision { get; set; }
public DateTime? CreatedDateTime { get; set; }
public string CreatedBy { get; set; }
public int? TicketOwner { get; set; }
public string LinkedTo { get; set; }
public int? LinkedToReferenceNumber { get; set; }
public ComplianceTicketReceiverDetailsModel Receiver { get; set; }
public InboundTransactionModel Transaction { get; set; }
}
public class ComplianceTicketReceiverDetailsModel
{
public int? ReceiverID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string AffiliateName { get; set; }
public DateTime? DOB { get; set; }
public string FullAddress { get; set; }
public string Country { get; set; }
public string Nationality { get; set; }
public string Mobile { get; set; }
public string Email { get; set; }
}
[当我尝试在ComplianceTicketReceiverDetailsModel中为ReceiverID分配值时,它给我'对象引用未设置为对象的实例'。
ComplianceTicketFullDetailsModel complianceTicket = new ComplianceTicketFullDetailsModel();
complianceTicket.ComplianceTicketID = result.ComplianceTicketID;
complianceTicket.TicketDescription = result.TicketDescription;
complianceTicket.TicketStatus = result.TicketStatus;
complianceTicket.FinalDecision = result.FinalDecision;
complianceTicket.CreatedDateTime = result.CreatedDateTime;
complianceTicket.CreatedBy = result.CreatedBy;
complianceTicket.TicketOwner = result.TicketOwner;
complianceTicket.LinkedTo = result.LinkedTo;
complianceTicket.LinkedToReferenceNumber = result.LinkedToReferenceNumber;
InboundCustomerClass inboundCustomer = new InboundCustomerClass();
if (result.LinkedTo == "CUS")
{
InboundAffiliateClass inboundAffiliate = new InboundAffiliateClass();
var customerResult = inboundCustomer.getReceiverDetails(result.LinkedToReferenceNumber.Value);
complianceTicket.Receiver.ReceiverID = customerResult.ID;
complianceTicket.Receiver.FirstName = customerResult.FirstName;
complianceTicket.Receiver.LastName = customerResult.LastName;
complianceTicket.Receiver.AffiliateName = inboundAffiliate.getAffiliateNameFromID(customerResult.AgentID.Value);
complianceTicket.Receiver.DOB = (object)customerResult.DOB == DBNull.Value ? (DateTime?)null : DateTime.Parse(customerResult.DOB.ToString());
complianceTicket.Receiver.FullAddress = customerResult.Address + ' ' + customerResult.City + ' ' + customerResult.Postcode + ' ' + customerResult.State;
complianceTicket.Receiver.Country = customerResult.Country;
//complianceTicket.Receiver.Nationality = customerResult.Nationality;
complianceTicket.Receiver.Mobile = customerResult.Mobile;
complianceTicket.Receiver.Email = customerResult.Email;
}
错误出现在此行:ComplianceTicket.Receiver.ReceiverID = customerResult.ID;
我已检查,customerResult.ID确实有一个值。
这可能是我完全错了。
您尚未初始化complianceTicket.Receiver
,这就是错误所指的内容,而不是customerResult。因此:
complianceTicket.Receiver = new ComplianceTicketReceiverDetailsModel();
行前
complianceTicket.Receiver.ReceiverID = customerResult.ID;