Проблема, связанная с URI для доступа к локальным файлам [duplicate]

Улучшена версия Роджера.

Проблема с GetDynamicSortProperty заключается в том, что они получают только имена свойств, но что произойдет, если в GridView мы используем NavigationProperties? он отправит исключение, так как находит NULL.

Пример:

«Employee.Company.Name;» сбой ... поскольку разрешает только «Name» в качестве параметра получить его значение.

Вот улучшенная версия, которая позволяет нам сортировать по свойствам навигации.

public object GetDynamicSortProperty(object item, string propName)
    {
        try
        {                 
            string[] prop = propName.Split('.'); 

            //Use reflection to get order type                   
            int i = 0;                    
            while (i < prop.Count())
            {
                item = item.GetType().GetProperty(prop[i]).GetValue(item, null);
                i++;
            }                     

            return item;
        }
        catch (Exception ex)
        {
            throw ex;
        }


    } 
0
задан Andrew Marshall 22 February 2011 в 22:43
поделиться

2 ответа

После некоторого обширного тестирования я сделал следующие выводы:

  • Только IE откроет файл: // ссылки, которые находятся на странице с удаленного хоста, другие браузеры будут блокировать их прямо и ничего не произойдет, когда пользователь на них нажмет.
  • IE откроет только файл: // URL-адреса, указывающие на файл, который находится на сетевом диске. Если пользователь нажимает на файл: // ссылка, указывающая на файл на локальном диске пользователя, ничего не произойдет, и они не получат ошибок.
  • Если пользователь нажимает ссылку на файл: //, указывающую на сетевой файл, он будет открываться в браузере, если это возможно.
  • Если файл: // url указывает на недопустимое местоположение (не подключенный сетевой диск, файл на сетевом диске, которого не существует), Windows покажет всплывающее сообщение.
  • Пространства в пути к файлу должны быть закодированы в URL с помощью% 20

Надеюсь, это поможет кому-то еще узнать, кто ищет информацию о файлах.

7
ответ дан BuffaloBuffalo 19 August 2018 в 10:52
поделиться

Если вы используете двойные кавычки (") вокруг пути к файлу (вам, вероятно, потребуется URL-кодировать их как %22), окна будут в порядке с полным путем:

<a href="file:///%22C:\Documents and Settings\user123\My Documents\testing\someFile.txt%22">link</a>
-1
ответ дан Oded 19 August 2018 в 10:52
поделиться
  • 1
    Я не могу заставить это работать даже в простом локальном html-файле, указывающем на другой локальный файл. Может быть, есть какие-то особые побеги характера, которые я пропускаю? – BuffaloBuffalo 22 February 2011 в 23:44
Другие вопросы по тегам:

Похожие вопросы: