Неверный URL при программном настройке пользовательской главной страницы

sharepoint.stackexchange https://sharepoint.stackexchange.com/questions/8757

  •  16-10-2019
  •  | 
  •  

Вопрос

У кого -нибудь была ошибка неверного URL -адреса при настройке мастер -страницы?

Используя этот код в приемнике функций (функции полагают мастер -страницу в галерею, которая работает нормально)

public override void FeatureActivated(SPFeatureReceiverProperties properties)
    {
        SPSite oSite = (SPSite)properties.Feature.Parent;

        using (SPWeb oWeb = oSite.OpenWeb())
        {
            oWeb.CustomMasterUrl = oWeb.Url + "/_catalogs/masterpage/GIS.CZEN.MIST.master";
            oWeb.AllProperties["__InheritsCustomMasterUrl"] = "True";
            oWeb.Update();
        }
    }

Если я активирую эту функцию на сайте http://<server>/<path>/<site>/ Тогда я получу ошибку:

Invalid URL: http://<server>/<path>/<site>/_catalogs/masterpage/MyMaster.master

Это происходит с командными сайтами, а также с публикацией сайтов, в SharePoint Server 2007.

РЕДАКТИРОВАТЬ: Все предложения действительны, но реальным исправлением для меня было использование OWEB.ServerrelativeUrl вместо OWEB.URL.

Это было полезно?

Решение

Я думаю, что вы должны установить CustommasterPage и Masterpage как веб -относительные URL -адреса, такие как:

/_layouts/custom.master

Или в вашем случае:

/_catalogs/masterpage/GIS.CZEN.MIST.master

Так что брось oWeb.Url

Другие советы

Ответ Djeeg верен, на самом деле он является сервером, представляющим объект SPFILE, который представляет мастер -страницу, которую вы хотите.

В URL нет ничего плохого: http: //server/site/subsite/_catalogs/masterpage/mymaster.master Пока вы ставите свою главную страницу, т.е. в галерее главной страницы для вашего сайта. Если вы используете адрес «относительно сервера», вы получите галерею главной страницы для вашей коллекции сайтов. Это разные галереи.

На сайтах публикации, когда вы устанавливаете главную страницу через пользовательский интерфейс, она всегда смотрит в галерее мастер -страниц коллекции сайтов, поэтому мы привыкаем думать, что это единственное. Конечно, в неказванном состоянии содержимое всех этих галерей WP может указывать на одни и те же файлы, призванные в файловой системе.

Похоже, вы помещаете свою собственную главную страницу в галерею WP Hallery, но затем попытались найти ее в галерее WP сайта при установке пользовательского мастера на вашем сайте. Надеюсь, что проливает больше света на ошибки, которые вы получаете.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top