目前,我正在开发此项目以创建SharePoint项目门户,但上下文并不重要。问题是,我的所有页面都是自定义应用程序页面,因此驻留在_layouts文件夹中。我希望每当用户访问http:// [servername] / [projectname]时,都会显示其中一个页面(http:// [servername] / [projectname] /_layouts/Pages/Summary/Default.aspx)。
在搜索SP本身,设计师和Google之后,我似乎无法找到解决方案。我想......让我们试试StackOverflow :-)是否可以让_layouts页面充当SP网站的主页?
答案 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>