检查URL是否是SPSite中的有效SPWeb
题
我有一个URL,我想检查它是否作为给定URL的子网站存在。
- 我有一个URL=
www.go.com
- 我想检查是否=www.go.com 有URL=
www.go.com/abx
还是不是
我有+1000个子网,我必须循环它们,没有快捷方式吗?
解决方案
您可以使用SuperMode和Unnie建议,您也可以选择使用以下代码:
using (SPSite site = new SPSite("http://www.go.com/"))
{
using (SPWeb oWeb= site.OpenWeb())
{
SPWeb IsWebExists = oWeb.Webs.FirstOrDefault(x => x.Name == "abx");
if (IsWebExists == null)
{
//Your Code
}
}
}
. 其他提示
试试下面的代码:
using (SPSite site = new SPSite("http://www.go.com/"))
{
using (SPWeb web = site.OpenWeb("abx"))
{
if (web.Exists)
Console.WriteLine("exists");
else
Console.WriteLine("not exists");
}
}
只要确保里面 site.OpenWeb
, ,您提供web的站点相对url
您可以尝试以下
string serverUrl = "http://myserver";
string siteUrl = "/sites/SiteCollection";
string subSiteUrl = "This Subsite Does Not Exist";
using (SPSite site = new SPSite(serverUrl + siteUrl))
{
using (SPWeb web = site.OpenWeb(subSiteUrl))
{
if (web.Exists)
{
// do work with the web...
Console.WriteLine(site.Url);
Console.WriteLine(web.Url);
}
}
}
.