У меня есть веб-часть макета, которая имеет поле «Тизер». В поле «Тизер» используется элемент управления «выбор медиа». В этом случае поле устанавливается на изображение, загруженное в одну из медиабиблиотек сайтов.Как получить относительный URL-адрес элемента мультимедиа из моего кода?
Я хочу, чтобы сделать это изображение, так что я пытаюсь получить относительный URL к нему в коде:
if (Teaser != Guid.Empty) // Teaser is {8d7fa1ab-b304-474f-9ab9-2e17e8fee84f}
{
var mediaInfo = MediaFileInfoProvider.GetMediaFileInfo(Teaser, SiteContext.CurrentSiteName);
// mediaInfo is null so the next line crashes
var libraryInfo = MediaLibraryInfoProvider.GetMediaLibraryInfo(mediaInfo.FileLibraryID);
string url = MediaFileURLProvider.GetMediaFileUrl(mediaInfo, SiteContext.CurrentSiteName, libraryInfo.LibraryFolder);
variabe «MediaInfo» равна нулю, поэтому сбой кода.
Как я могу получить относительный URL-адрес моего медиафайла?
Благодаря @maartenvdh, проблема оказалась в том, что я переключая поле от типа страницы между «Выбором текстом => СМИ» и "file => direct uploader". Я думаю, что я должен был переключить тип, но потом не сохранил страницу, на которую я смотрел, или что-то в этом роде, поэтому у нее все еще был файл GUID в поле. Переключение на «text => media selection» дает мне URL-адрес непосредственно в поле, которое я хочу. – George