Pergunta

Estou tentando recuperar um URL relativo de um sp.web, eu recebo meu sp.web de um sp.list com

SPWeb test = listNL.ParentWeb;

Quando tento obter o URL, recebo uma exceção:

test.ServerRelativeUrl' gerou uma exceção do tipo 'Microsoft.SharePoint.Client.PropertyOrFieldNotInitializedException

test.ServerRelativeUrl;

Você conhece uma solução para recuperar o URL relativo da lista?

Foi útil?

Solução

Este erro ocorre desde ServerRelativeUrl propriedade do objeto Web não foi carregada.

Você deve especificar explicitamente para carregar ServerRelativeUrl propriedade:

var list = ctx.Web.Lists.GetByTitle(listTitle);
ctx.Load(list,l => l.ParentWeb.ServerRelativeUrl);
ctx.ExecuteQuery(); 
var webUrl = list.ParentWeb.ServerRelativeUrl;

ou use Lista ParentWebUrl propriedade:

var list = ctx.Web.Lists.GetByTitle(listTitle);
ctx.Load(list);
ctx.ExecuteQuery();  
var webUrl = list.ParentWebUrl;

para recuperar a Web ServerRelativeUrl propriedade.

Como recuperar o URL relativo do servidor de lista via CSOM

var list = ctx.Web.Lists.GetByTitle(listTitle);
ctx.Load(list,l => l.RootFolder.ServerRelativeUrl);
ctx.ExecuteQuery(); 
var listUrl = list.RootFolder.ServerRelativeUrl;
Licenciado em: CC-BY-SA com atribuição
Não afiliado a sharepoint.stackexchange
scroll top