Pergunta

Eu tenho um site pai que cria páginas filhas programaticamente.Eles usam um modelo personalizado com uma lista que criei no VS.Agora quero acessar essa lista em C# do site pai.Eu tentei como a parte do código abaixo, mas quando percorro todas as listas disponíveis, ela não está lá.Minha pergunta é: como posso acessar a lista.Após a depuração, ele falha ao procurar a lista ArtistInformation.

            //Create website
            artistWeb.Webs.Add(artist, artist, artist, artistWeb.Language, webTemplate,     false, false);
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex);
            listItem.SystemUpdate(false);
        }

            fillArtistInformation();
    }

    public void fillArtistInformation()
    {
        using (SPSite siteCollection = new SPSite(fullURL))
        {
            SPWeb web = siteCollection.OpenWeb();
            System.Diagnostics.Debug.Write(web.Title);

            try
            {
                SPList list = web.Lists["ArtistInformation"];
                SPListItem item = list.Items.Add();
                item["Title"] = artist;
                item["WorkAddress"] = address;
                item["WorkZip"] = zip;
                item["WorkCity"] = city;
                item["WorkCountry"] = country;
                item["Price"] = price;
                item.Update();
            }
            catch (Exception e)
            {
                System.Diagnostics.Debug.WriteLine(e);
            }
        }
    }
}
Foi útil?

Solução

Primeiramente, seu SPWeb (que você criou usando OpenWeb()) deve estar dentro de uma construção using().

A razão pela qual suspeito que você não consegue obter a lista correta é porque:

  • O nome da lista não é "ArtistInformation", lembre-se que você deve usar o DISPLAY NAME da lista nesta situação

ou

  • fullURL não contém o URL real da web criada.Como você não nos forneceu o contexto dessa variável, não há como saber se isso é absolutamente verdade, mas suspeito que seja, na verdade, o URL da web pai.

Tim

Licenciado em: CC-BY-SA com atribuição
Não afiliado a sharepoint.stackexchange
scroll top