Я использую LINQ для извлечения данных из базы данных, имя переменной относительно ссылки - это «сервис».ASP.Net проверяет, пуст ли FileUpload пуст
upDocument - это идентификатор элемента управления FileUpload.
Целью является удаление старого файла перед загрузкой нового. Это код, который я придумал:
if ((service.image_url != null || service.image_url != "") &&
(upDocument.FileName.Length != 0 || upDocument.PostedFile.ToString() != ""))
{
if (File.Exists(System.Web.HttpContext.Current.Server.MapPath(service.image_url)))
{
File.Delete(System.Web.HttpContext.Current.Server.MapPath(service.image_url));
}
}
Проблемы, что у меня есть, что Althought ничего не загружаются в FileUpload файл все еще удален. Я сделал точку останова и проверил ее ... и противоречил тому, что я ожидал от FileName.Length не 0, а опубликованныйFile.ToString() не является "".
Как я могу сделать правильную проверку?
Заранее спасибо.
Ваше первое условие ('service.image_url') должно использовать a и (' && '), а не a (или' '' ''). Однако на самом деле он должен называть 'String.IsNullOrEmpty'. – SLaks
Кстати, 'upDocument.PostedFile.ToString()' всегда будет '' HttpPostedFile'', потому что класс 'HttpPostedFile' не переопределяет' ToString'. Поэтому нет смысла его проверять. Вместо этого вы должны проверить 'HasFile'. – SLaks