为什么 Textarea.Innertext 给了我空点异常
本文关键字:异常 Textarea Innertext 为什么 | 更新日期: 2023-09-27 18:34:15
<textarea id="TextAreaSend" runat="server" name="SendText">
我创建了文本区域来写一些东西。并将它保存到数据库中,并使用linq到实体。
if (!String.IsNullOrEmpty(TextAreaSend.InnerText))
{
int ticketno = Convert.ToInt32(ViewState["TicketNo"]);
var source = from tickettext in entities.Tickets
where tickettext.TicketNo == ticketno
select tickettext;
Ticket ticket = source.Single();
//This is where null point exception is
ticket.Answer.AnswerText = TextAreaSend.InnerText;
entities.SaveChanges();
}
票。Answer.AnswerText = TextAreaSend.InnerText;在这一行中,我收到;
对象引用未设置为对象的实例。为什么?我该如何解决它?
如果在对
TextAreaSend.InnerText
执行 null 或空检查时它没有在该代码的第一行失败,那么在读取分配给 AnswerText
的属性值时,它不会出于同样的原因失败。
ticket
也不能在此处null
,因为如果查询返回 0 或超过 1 个Ticket
,您将收到不同的异常。
我们剩下的是ticket.Answer
可能是这里null
的项目,而不是ticket
或TextAreaSend
。您正在尝试写入null
的对象上的属性。
当您
调用"源"时,我会检查返回的实体数量。单()"。 如果在使用"Single()"时返回多个实体或未返回任何实体,则可能会引发异常。 此外,如果使用"SingleOrDefault()",则可以在继续执行其余代码之前检查 null。