2013-04-01 2 views
0

На одной из страниц моего сайта ASP MVC3 мне нужно включить ссылку на файл или файлы, которые находятся на общем диске, который мы используем в офисе. Я сохраняю адрес файла в базе данных и пытаюсь сделать это ссылкой в ​​нашем представлении.ASP MVC3 - Ссылка на файлы в общей папке

Использование @Html.ActionLink, который я уверен, что это неправильный контроль, чтобы использовать, я получаю следующее сообщение об ошибке:

[HttpException (0x80004005): A potentially dangerous Request.Path value was detected from the client (&).] 
    System.Web.HttpRequest.ValidateInputIfRequiredByConfig() +9021001 
    System.Web.PipelineStepManager.ValidateHelper(HttpContext context) +59 

Однако, использование и других элементов управления @Html ссылка не работает.

Одна из проблем заключается в том, что мы не хотим создавать несколько копий файлов, разрешая загрузку. Мы просто хотим связать этот файл с указанным местоположением и разрешить пользователям работать с этой копией. У Windows есть функция, которая позволяет вам щелкнуть по пути к файлу, если отправлено по электронной почте или на word doc, который откроет файл. Это тот тип функциональности, который мы собираемся сделать.

Вот адрес образца, который в настоящее время вызывает проблемы:

\\Prdhilfs02\l&i-systems\WORKAREA\AgencySystems\SHARED\DSSProj\PRDSUP\Defects\TD14734 Agent Welcome Letters\Welcome Letters v1.2.doc 

Когда это визуализируется в HTML выглядит следующим образом:

/%5C%5CPrdhilfs02%5Cl%26i-systems%5CWORKAREA%5CAgencySystems%5CSHARED%5CDSSProj%5CPRDSUP%5CDefects%5CTD14734%20Agent%20Welcome%20Letters%5CWelcome%20Letters%20v1.2.doc 
+0

Почему бы не создать его вручную? Например. File

ответ

0

Вероятно, не тот случай, чтобы использовать помощник, почему не только

<a href="@Html.Raw(filepath)">Download</a> 
+0

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

0

ActionLink предназначен для ссылок на действия диспетчера, а не abso лютни.

Вам не нужно HTML-помощник на всех, просто делают это непосредственно:

<a href="file://<%= myUncPath %>">click me</a> 
+0

Тот же результат с этим ответом: путь отображается правильно, но при нажатии на ссылку ничего не происходит. – NealR

+0

Как вы создаете строку URI? Похоже, вы лишний раз вызываете UrlEncode. – Dai

Смежные вопросы