Тестирование для 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 ответов
проверьте этот:
Это должно дать вам несколько идей:
как обрабатывать значения null в DataBinder.Eval ()
Обработка Нулевых Значений Базы Данных С Помощью Элементов Управления Источником Данных
когда свойство AppendDataBoundItems имеет значение true, раскрывающийся список контроля заполняется как статические элементы и данные, полученные из данных источник. Статика элемент списка, который добавлен в элемент управления DropDownList свойство Value имеет значение пустой строка. При этом элемент данных, который содержит значение null, связанное с статический элемент списка.