Vérifiez si l'URL est un SPWeb valide dans un SPSite
Question
J'ai une URL et je souhaite vérifier si elle existe en tant que sous-site pour une URL donnée.
- J'ai une URL =
www.go.com
- Je veux vérifier si = www.go.com a une URL =
www.go.com/abx
ou non
J'ai +1 000 sous-sites Web, dois-je tous les boucler, pas de raccourci ?
La solution
Vous pouvez suivre ce que Supermode et Unnie ont suggéré, vous pouvez également choisir d'utiliser le code ci-dessous :
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
}
}
}
Autres conseils
Essayez le code ci-dessous :
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");
}
}
Assurez-vous simplement qu'à l'intérieur site.OpenWeb
, vous fournissez l'url relative du site Web
Vous pouvez essayer ce qui suit
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);
}
}
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange