Пустое свойство DataTextField выпадающего списка

#c# #asp.net #drop-down-menu

#c# #asp.net #выпадающее меню

Вопрос:

У меня есть, DropDownList которое связано с sqlDataSource . Часть SQL-запроса является:

 "Select (firstName  " "  SecondName  " "  LastName) AS Name"
  

DataTextField для свойства DropDownList установлено значение Name .

Проблема в том, что если какое-либо из ( firstName , SecondName и LastName ) равно NULL , DataTextField свойство становится пустым.

Как я могу это исправить?

Комментарии:

1. Просто проверьте, является ли строка нулевой, и если да, присвойте ей значение, "" или "no name" и т. Д

2. @Enfyve Ваше решение вообще не будет отображать имя. Что мне нужно: например, если строка базы данных имеет только имя и фамилию, я все равно хочу, чтобы имя отображалось в выпадающем списке.

Ответ №1:

Я использую что-то вроде этого. Вы должны проверить наличие нулевых значений и заменить их пустой строкой. Наконец, я заменяю 2 пробела на 1 в функции replace, чтобы учесть пустые вторые имена.

 SELECT REPLACE(ISNULL(firstName, '')   ' '   ISNULL(SecondName, '')   ' '   ISNULL(LastName, ''), '  ', ' ') AS Name
  

Комментарии:

1. Это создает дополнительную нагрузку (хотя и небольшую) на базу данных, почему бы не проверить наличие null или пустой строки в результате запроса?

2. Потому что OP хочет получить результаты, даже если какой-либо из 3 столбцов равен нулю. Пустая строка в asp.net проблема здесь не в этом.

3. Понял, спасибо. Я неверно истолковал проблему как «любой из запросов», а не «любой из селекторов».

4. @VDWWD Большое вам спасибо. Это то, что я искал.