Проверьте, является ли URL-адрес допустимым SPWeb на SPSite
Вопрос
У меня есть 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
, вы указываете относительный 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);
}
}
}
Не связан с sharepoint.stackexchange