Почему Textarea.Innertext дает мне исключение нулевой точки? [Дубликат]

1
<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();
        }

ticket.Answer.AnswerText = TextAreaSend.InnerText; В этой строке я получаю;

Ссылка на объект не установлена в экземпляр объекта. Почему? Как я могу это исправить?

  • 0
    Что такое ticket.Answer ? ticket.Answer ? Вы уверены, что это не то, что дает вам нулевую ссылку?
  • 0
    Это класс, созданный сущностью Ticket. Это таблица в моей базе данных со свойством навигации, я просто указываю, куда писать.
Показать ещё 2 комментария
Теги:
linq
textarea
nullreferenceexception

2 ответа

2
Лучший ответ

Если он не проваливается в первой строке этого кода, когда он выполняет нулевую или пустую проверку TextAreaSend.InnerText, то он не может терпеть неудачу по той же причине при чтении значения свойства для назначения AnswerText.

ticket не может быть здесь null потому что вы получили бы другое исключение, если бы запрос запроса отправил 0 или более 1 Ticket.

То, что у нас осталось, что ticket.Answer, вероятно, элемент, который null здесь, а не ticket или TextAreaSend. Вы пытаетесь записать свойство на объект, который является null.

  • 0
    Я должен был добавить ticketno в базу данных. Он просто не мог найти ticketno и answerText, поэтому ничего не могу найти. Извините за ошибку, я был немного спешил сделать это
1

Я бы посмотрел, сколько объектов возвращается, когда вы вызываете "source.Single()". Могут быть исключения, если возвращено более одного объекта или нет объектов, возвращаемых при использовании "Single()". Кроме того, если вы используете "SingleOrDefault()", вы можете выполнить проверку на нуль до перехода к остальной части вашего кода.

  • 0
    Спасибо, я буду использовать его, когда я тестирую также

Ещё вопросы

Сообщество Overcoder
Наверх
Меню