2011-12-30 17 views
12

URL http://webapp:1234/Lists/TestListにSharePointリストがあります。プログラムでSPListのURLを取得する

コードでは、対応するSPList-Instanceのみにアクセスできます。このURLのURLを取得するにはどうすればいいですか?SPList - インスタンスはプログラムによって作成されますか?

SPListクラスは、そのようなURLプロパティまたは何かが欠けている...

+1

、あなたが本当にリストのデフォルトビューのURLをお勧めします: 'mylist.DefaultView.Url'。 –

答えて

20

は、Web URLをリストのルートフォルダのURLを結合する必要があります。ルートフォルダのURLにはSPFolder.Url、ウェブの絶対URLはSPWeb.Urlでアクセスできます。 listを指定すると、list.ParentWeb.Url + list.RootFolder.Urlのようになります。

しかし、ドキュメントを読んで試してみて、適切なスラッシュなどを修正してください。また、親のSPWebApplicationオブジェクトからURLのホスト名部分を調べる必要があります。代替アクセスマッピングのため、複数のホスト名を使用してサイトにアクセスできる可能性があります。

また、SPUtility.GetFullUrlは、サーバー相対URLを完全なURLに変換する場合に便利です。

+0

ありがとう! RootFolderプロパティが見落とされました... –

+5

少し短いバージョンは単に 'list.RootFolder.ServerRelativeUrl'プロパティ値を使用することです。 –

1

あなたは、これが私のために収まるこの

SPList newlist = web.Lists(Web.Url + "Lists/listname"); 
+1

...少なくともドキュメントライブラリでは動作しません。 –

+0

ライブラリの場合 "リスト/"を削除してください –

+0

これは依存しています..ライブラリもリストの下にあります.. –

0

を試すことができます:あなたは、URLで何をしたいかに応じて、

string sitecol= SPContext.Current.Site.Url.ToString(); 

string list= myList.DefaultView.Url.ToString(); 

string listlink = sitecol + "/" + list; 
関連する問題