2014-01-08 2 views
2

Я надеюсь, что это подходящее место, чтобы задать вопрос. Я попытался использовать sosial msdn, но кажется, что msdn-форум мертв. У меня небольшая проблема с главной страницей. Я создал веб-шаблон и главную страницу. Когда я создаю новый семейство сайтов, и я пытаюсь получить к нему доступ (http://win2008r2/sites/Test), он вызывает ошибку: «404 NOT FOUND».SharePoint Foundation 2013 - Master Page 404 НЕ НАЙДЕНО

Однако, когда я проверяю MasterPage галерея: http://win2008r2/sites/Test/_catalogs/masterpage/Forms/AllItems.aspx

я могу найти Demo.master. Когда я проверяю функции Site Collection, я вижу, что моя главная страница активна. Я проверил журналы, и это было единственное, что я нашел: Ошибка при извлечении документа. 0x80070002

Я установил Web Template простор для фермы и я поставил рамки главной страницы на сайт.

Я пытаюсь решить проблему с помощью Google, и я пробовал разные руководства, но нет, я не могу заставить ее работать. Кто-нибудь может мне помочь, пожалуйста!

Вот element.xml:

<Module Name="MyMasterPage" List="116" Url="_catalogs/masterpage"> 
    <File Path="MyMasterPage\Demo.master" Url="Demo.master" Type="GhostableInLibrary"> 
    </File> 
    </Module> 

Вот приемник события:

public override void FeatureActivated(SPFeatureReceiverProperties properties) 
     { 
      SPSecurity.RunWithElevatedPrivileges(delegate 
      { 
       using (SPWeb _web = ((SPSite)properties.Feature.Parent).RootWeb) 
       { 
        Uri _siteMaster = new Uri(string.Format("{0}/_catalogs/masterpage/Demo.master", _web.Url)); 
        _web.MasterUrl = _siteMaster.AbsolutePath; 
        _web.CustomMasterUrl = _siteMaster.AbsolutePath; 
        _web.Update(); 
       } 
      }); 
     } 

     public override void FeatureDeactivating(SPFeatureReceiverProperties properties) 
     { 
      SPSite curSite = (SPSite)properties.Feature.Parent; 
      SPWeb curWeb = curSite.RootWeb; 
      Uri masterUri = new Uri(curWeb.Url + "/_catalogs/masterpage/v4.master"); 
      curWeb.MasterUrl = masterUri.AbsolutePath; 
      curWeb.CustomMasterUrl = masterUri.AbsolutePath; 
      curWeb.Update(); 
     } 

Если вы хотите увидеть больше моего кода, чтобы решить эту проблему, пожалуйста, не стесняйтесь спросить, так Я добавил больше кода. ;)

+0

Файл ONet.xml, добавляю мою главную страницу: user3172297

+0

На данный момент у меня больше нет идей по устранению проблемы. Поэтому, если кто-то знает хоть что-то, так лучше, чем ничего. – user3172297

+0

Не удаляйте объекты SPWeb из SPSite.RootWeb. – trgraglia

ответ

0

Спасибо Евгению.Чернобривец! Проблема в том, что я назвал свой default.aspx для MySite.aspx, и это не сработало. Когда я создал его снова, и я продолжаю использовать default.aspx имя, это сработало! Ну, теперь я должен найти способ изменить это default.aspx name =)