0

Application Testという名前のサイトを作成しました。このサイトでは、 Sub Applicationという名前のサブサイトを再度作成します。

"http://SP2010:2222/"Visual Studio Project Project Scope is Siteにサイト URL を追加します。今、サブ サイト (サブ アプリケーション) からリスト ( TestList ) にアクセスしようとすると、リストが存在しないというエラーが表示されます。リスト(TestList)にアクセスするための次のコード:

using (SPSite sites = new SPSite(SPContext.Current.Site.Url))
        {
            using (SPWeb web = sites.OpenWeb())
            {
              SPList CurrentList = web.Lists["TestList"]; // Error comes here
            }
        }

誰かが解決策を持っていますか?

4

2 に答える 2

1

これを試して、

using (SPSite sites = new SPSite(SPContext.Current.Site.Url))
 {
    using (SPWeb web = sites.OpenWeb())
       {
          SPWebCollection subsites= web.GetSubwebsForCurrentUser(); //get subsites
           for (int i= 0; i< subsites.Count; i++)
              {
                SPWeb subSiteWeb= subsites[i];

                   SPList CurrentList = subSiteWeb.Lists["TestList"];
                   if (CurrentList != null)
                   break;       
               }                  
        }
 }
于 2012-07-11T07:02:52.957 に答える
0

さてSPContext.Current.Site、あなたがあなたのを展開した現在のサイトは-それが何であれ。しかし、sites.OpenWeb()パラメータなしで行うと、が開き、RootWebルートWebにリストがない場合は、リストが見つかりません。

それぞれのURLを使用して、Webとサイトを明示的に開いてみてください。http://SP2010:2222/

于 2012-07-11T07:04:45.220 に答える