【问题标题】:SharePoint Foundation 2013 - Master Page 404 NOT FOUNDSharePoint Foundation 2013 - 未找到母版页 404
【发布时间】:2014-01-26 05:36:57
【问题描述】:

我希望这是提问的正确地方。我尝试使用 sosial msdn,但似乎 msdn 论坛已死。我对母版页有小问题。我已经创建了 Web 模板和母版页。当我创建新的网站集并尝试访问它 (http://win2008r2/sites/Test) 时,它会向我抛出错误:“404 NOT FOUND”。

但是,当我查看 MasterPage 库时:http://win2008r2/sites/Test/_catalogs/masterpage/Forms/AllItems.aspx

我可以找到我的 Demo.master 。当我检查网站集功能时,我可以看到我的母版页功能处于活动状态。我检查了日志,这只是我发现的:获取文档时失败。 0x80070002

我已将 Web 模板范围设置为农场,并且我已将 母版页范围设置为站点

我尝试使用 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();
        }

如果你想看更多我的代码来解决这个问题,请随时提问,所以我放了更多代码。 ;)

【问题讨论】:

  • ONet.xml 文件,我添加了我的母版页:
  • 此时,我已经没有任何解决问题的想法了。因此,如果有人至少知道一些事情,总比没有好。
  • 不要从 SPSite.RootWeb 释放 SPWeb 对象。
  • 为什么您认为问题出在母版页中?在大多数情况下,404 not found 意味着该页面未找到。那么也许您的网络模板默认页面丢失了?

标签: c# sharepoint http-status-code-404 master-pages


【解决方案1】:

谢谢 Yevgeniy.Chernobrivets!问题是我将我的 default.aspx 命名为 MySite.aspx 并且它不起作用。当我再次创建它并保留 default.aspx 名称时,它起作用了!好吧,现在我必须想办法改变那个 default.aspx 名称 =)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-13
    • 1970-01-01
    • 2014-08-15
    • 1970-01-01
    • 2020-09-07
    相关资源
    最近更新 更多