我有一个VB控制台应用程序。
我想获取该页面的绝对网址。
以下是我当前的代码:
Using siteCollectSPSite As New SPSite("http://mySite")
Dim blogPostSpList As SPList
'Get only the subsite of <locale/blogs>
Using blogSiteSPWeb As SPWeb = siteCollectSPSite.OpenWeb("/blogs")
For Each subsite As SPWeb In blogSiteSPWeb.Webs
Console.WriteLine("Subsite title: " & subsite.Url)
'......
Next
现在,我得到的是:http://mySite/blogs/myblog1
我想要的是完整的网址: http://mySite/blogs/myblog1/default.aspx
我如何获得“default.aspx”?
答案 0 :(得分:1)
WelcomePage是SPFolder类型的属性,因此要获取完整的URL,您必须使用:
subsite.Url + "/" + subsite.RootFolder.WelcomePage;
答案 1 :(得分:1)
SPFolder.WelcomePage应该有效。如果没有,你需要设置&#34; vti_welcomepage&#34;在“文件夹”列表项的属性中。这就是MS在幕后所做的事情。
if (this.m_strRedirectUrl == null)
{
string text = (string)this.Properties["vti_welcomepage"];
if (text == null)
{
text = string.Empty;
}
this.m_strRedirectUrl = text;
}
return this.m_strRedirectUrl;
答案 2 :(得分:0)
好的,你的问题是SPWeb实际上没有这样的“页面”。 Default.aspx只是SPWeb容器中的一个页面。
如果您启用了发布功能,则可以使用publishWeb修改/读取默认页面,否则请尝试:
http://curia.me/post/2011/05/20/SharePoint-how-change-the-default-page-of-a-SPWeb.aspx