Можно ли получить Splist Edent с URL-адресом?
Вопрос
У меня есть поле URL, которое содержит URL-адрес дискуссионной доски, которую я буду создавать новый элемент для.Дело в том, что эта дискуссионная доска может быть на любом сайте или в Интернете.Пока у меня есть две идеи, но хотели бы знать, если есть более правильный путь ..
Вариант 1. Строка сравнивает данный URL с URL для каждого сайта, сохраняющего ближайший матч.Затем снова используя строку сравнить на MySPSITE.AllWebs, чтобы найти правильную сеть и, наконец, использовать MySpWeb.getlistfromurl (DENTURL), чтобы захватить свой объект списка.
Вариант 2. Рекурсивно удалить последний сегмент URL, пока он не работает
private void myFunct(testURL){
Try{
using(SPSite mysite = new SPSite(testUrl)){
//vaild if reached
}
}catch{
int i = testURL.lastIndexOf('/');
if(i>0){
testURL= myFunct(testURL.subStr(0, i));
}else{ testURL = null; }
}
return testURL;
}
.
Я бы открою SPSite и найти правильную SPWEB в Simillar Fashon
Оба метода кажутся так, как будто им потребуется много воспоминаний.
Другие советы
или более простые метод:
using (var site = new SPSite(url)){
using (var web = site.OpenWeb()){
var list = web.GetList(url);
}
}
.