2017-02-08 2 views
0

В моем настраиваемом типе страницы вы можете выбрать загруженный файл. Все в порядке, но в моей трансформации ascx мне сложно получить URL-адрес. Поле «Процесс».Kentico 9 страница трансформации/файл URL

Вот что у меня есть.

<%# IfEmpty(Eval("Process"),"N/A","<a href=" + Eval("Process") +" target='blank' class='icon download'>Download</a>")%>  

Когда оказывается, HTML, заключается в следующем:

<a href="214b6876-cb39-4a58-813f-19dcb7c788e4" target="blank" class="icon download">Download</a> 

я пропускаю что-то.

ответ

2

Вы можете использовать любой из приведенных ниже способов. Однако оба имеют свои недостатки.

<a href="<%# GetFileUrl("Process", "Something") %>"Link here<a/> это будет

Downfall с этим, если нет значения в поле «Process», он будет возвращать неверный URL. Так что я, как правило, использовать что-то немного лучше (но не много)

<a href="/getattachment/<%# ValidationHelper.GetGuid(Eval("Process"), Guid.Empty) %>/<%# ValidationHelper.GetString(Eval("NodeAlias"), "download") %>">Item to download</a>

Это создаст действительный URL с некоторыми свойствами недействительных к нему. Значение, если в поле «Процесс» нет значения, оно вернет 00000000-0000-0000-0000-000000000000. Если поле NodeAlias ​​пустое, оно вернет «загрузку». Так что опять же, не на 100% безупречно, но в большинстве случаев он работает хорошо.

Update
Проверить эту ссылку:
https://devnet.kentico.com/articles/options-for-file-fields-in-structured-data

Я думаю, что часть вам нужно здесь в разделе "CMS.File страница типа":
<a href="<%#GetDocumentUrl("FileField ", "kenticopicture")%>">This is the link to the picture</a>

+0

Я сначала попробовал GetFileUrl, но это не приложение. Когда я использую это: GetFileUrl («Процесс»), я получаю этот '/ getattachment/214b6876-cb39-4a58-813f-19dcb7c788e4/Page-One.aspx', который дает мне 404. Перманентный URL-адрес:/getdoc/214b6876- cb39-4a58-813f-19dcb7c788e4/BadgerCatalog.aspx. Страница-one.aspx - мой пользовательский тип страницы.Может быть, небольшая tweek к вашему второму методу будет работать. –

+0

Хорошо, что помогает немного больше, взгляните на обновление моего ответа. –

+0

спасибо. Я ближе. Мне просто нужно получить имя файла, а не «kentiopicture.aspx» –

0

Заканчивать transformation methods reference

Вы можете использовать <% # GetImage (Eval ("Process"))%>. Это вернет тег изображения. Есть пара других параметров для калибровки, если вы хотите их использовать.

+0

Это ISN» t изображение, с которым я связываюсь, но загруженный PDF. AS это тогда тип страницы cms.file, я думал, что использование GetDocumentURL будет работать, но я не получаю фактическое имя узла. –

0

См. Ссылку «Transformation reference» в вашем редакторе Trasnformation, и он перейдет на все доступные методы преобразования, которые вы можете использовать.

В нем показано:

Это создаст реальный тег изображения. Если же вы хотите ссылку, это обычно

/getattachment/<% # Eval ("TheImage")%>/ImageFileNameCanBeAnythingThough.jpg

пример: /getattachment/1936c69d-a28c-428а-90a7- 09154918da0f/Christmas.jpg

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