ASP.NET DropDownList Замена - PullRequest
       15

ASP.NET DropDownList Замена

0 голосов
/ 26 марта 2010

В настоящее время я заполняю раскрывающийся список при создании файла в настраиваемой папке.

if (! DownloadRspDropDown.Items.Contains (новый ListItem (txt, fileData.FullName))

Затем я добавляю файл и удаляю «Нет доступных ответов».

Однако, если один и тот же файл отправляется повторно (т. Е. Имя файла совпадает, но метка времени отличается), я хочу удалить более старую запись и заменить ее новой записью в раскрывающемся списке.

У меня есть имя файла, поэтому я перехожу в блок "else" из строки кода выше. Оттуда я проверяю, есть ли у меня то же имя файла и другое время создания.

if (downloadRspDropDown.Items.Contains (новый ListItem (txt, fileData.FullName) && downloadRspDropDown.Items.Contains (новый ListItem (txt, fileData.CreationTime)

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

1 Ответ

0 голосов
/ 26 марта 2010

Я не знаю, если это ваша текущая проблема, но эта строка определенно вызывает проблемы:

if (!downloadRspDropDown.Items.Contains(new ListItem(txt, fileData.FullName))

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

Попробуйте вместо этого использовать метод .FindByValue.

Редактировать на основе комментария : Попробуйте что-то вроде этого:

ListItem _li = downloadRspDropDown.Items.FindByValue(fileData.FullName);
if(_li != null)
{
 downloadRspDropDown.Items.Remove(_li);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...