在Sharepoint 2010中将_layouts页面设置为主页

时间:2010-12-06 10:42:04

标签: sharepoint-2010

目前,我正在开发此项目以创建SharePoint项目门户,但上下文并不重要。问题是,我的所有页面都是自定义应用程序页面,因此驻留在_layouts文件夹中。我希望每当用户访问http:// [servername] / [projectname]时,都会显示其中一个页面(http:// [servername] / [projectname] /_layouts/Pages/Summary/Default.aspx)。

在搜索SP本身,设计师和Google之后,我似乎无法找到解决方案。我想......让我们试试StackOverflow :-)是否可以让_layouts页面充当SP网站的主页?

3 个答案:

答案 0 :(得分:1)

我们无法将网页(http:// [servername] / [projectname] /_layouts/Pages/Summary/Default.aspx)设置为网站欢迎页面,因为此页面不是我们当前网站的一部分。

您可以将网页设置为包含当前网站部分的网站欢迎页面。为此,您必须转到网站操作 - >网站设置 - >欢迎页面(在外观下),将您的页面设置为包含我们网站部分的欢迎页面。为此,您已在网站上启用了发布功能。

答案 1 :(得分:0)

你可以避免"这个网站"从代码中查看。

SPFolder rootFolder = web.RootFolder;
rootFolder.Properties["vti_welcomepage"] = "any URL in layouts folder";
rootFolder.Update();``

答案 2 :(得分:0)

我们可以做到。 我刚刚在SharePoint 2013 Foundation中测试过。 这是一种解决方法,但它确实有效。

步骤:

1 - 在web.config中允许服务器端代码如下:

<PageParserPaths>
        <PageParserPath VirtualPath="/*" CompilationMode="Always" 
            AllowServerSideScript="true" />
</PageParserPaths>

2 - 创建网站页面并将其设置为主页(使用SharePoint Designer)

3 - 编辑网站页面的html代码(在步骤2中创建的代码),包括服务器端代码,如下所示:

<%@ Page Language="C#" %>
<!DOCTYPE html>

<script runat="server">
    protected void Page_Load(object sender, EventArgs e)
    {
        Response.Redirect("http://sp-2013/_layouts/15/SharePointProject3_SearchApplicationPage/search.aspx");
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
</body>
</html>