Тестирование для null, inline, на ASP.net вызов Bind ()

у меня есть немного кода, которым я начал управлять, и он начал терпеть неудачу из-за отсутствия некоторых данных в базе данных. Этот случай может произойти в будущем, поэтому я хотел бы изящно обращаться с нулями в переднем конце.

вот текущий код:

<asp:DropDownList ID="ddlContact" runat="server"
  SelectedIndex='<%# Bind("contactInfo") == null  ? "" : Bind("contactInfo") %>'>

он, похоже, не влияет на него, и страница по-прежнему выдает исключение NullReferenceException. Это должно быть Bind () из-за требования двусторонней привязки данных, поэтому я не могу использовать Eval (). Есть идеи?

Я пытался использовать оператор null-coallescing"??"но это дает мне ошибку компиляции, заявляющую, что Bind() не существует в текущем контексте. Это могло бы выглядеть так:

<asp:DropDownList ID="ddlContact" runat="server"
  SelectedIndex='<%# Bind("contactInfo") ?? string.Empty %>'>

1 ответов


проверьте этот:

Bind NULL

Это должно дать вам несколько идей:

как обрабатывать значения null в DataBinder.Eval ()

Обработка Нулевых Значений Базы Данных С Помощью Элементов Управления Источником Данных

когда свойство AppendDataBoundItems имеет значение true, раскрывающийся список контроля заполняется как статические элементы и данные, полученные из данных источник. Статика элемент списка, который добавлен в элемент управления DropDownList свойство Value имеет значение пустой строка. При этом элемент данных, который содержит значение null, связанное с статический элемент списка.