web-dev-qa-db-ja.com

プログラムでSPListURLを取得する

URLでSharePointリストを提供しているとしましょう http:// webapp:1234/Lists/TestList

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

SPListクラスにURLプロパティなどがありません...

12
Jonas W

リストのルートフォルダのURLをWebのURLと組み合わせる必要があります。ルートフォルダのURLには SPFolder.Url 経由でアクセスでき、Webの絶対URLには SPWeb.Url 経由でアクセスできます。 listがあるとすると、list.ParentWeb.Url + list.RootFolder.Urlのようになります。

ただし、ドキュメントを読んで試してみて、適切なスラッシュなどを修正してください。親のSPWebApplicationオブジェクトからURLのホスト名部分を把握する必要がある場合もあります。代替アクセスマッピングのため、サイトには複数のホスト名を介してアクセスできる場合があることに注意してください。

また、 SPUtility.GetFullUrl は、サーバー相対URLを完全なURLに変換するのに役立つ場合があります。

23
Ondrej Tucny

あなたはこれを試すことができます

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

これは私にぴったりです:

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

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

string listlink = sitecol + "/" + list;
0
Jan