URLでSharePointリストを提供しているとしましょう http:// webapp:1234/Lists/TestList 。
コードでは、対応するSPListインスタンスにのみアクセスできます。このSPList
-インスタンスのURLをプログラムで取得するにはどうすればよいですか?
SPListクラスにURLプロパティなどがありません...
リストのルートフォルダのURLをWebのURLと組み合わせる必要があります。ルートフォルダのURLには SPFolder.Url
経由でアクセスでき、Webの絶対URLには SPWeb.Url
経由でアクセスできます。 list
があるとすると、list.ParentWeb.Url + list.RootFolder.Url
のようになります。
ただし、ドキュメントを読んで試してみて、適切なスラッシュなどを修正してください。親のSPWebApplication
オブジェクトからURLのホスト名部分を把握する必要がある場合もあります。代替アクセスマッピングのため、サイトには複数のホスト名を介してアクセスできる場合があることに注意してください。
また、 SPUtility.GetFullUrl
は、サーバー相対URLを完全なURLに変換するのに役立つ場合があります。
あなたはこれを試すことができます
SPList newlist = web.Lists(Web.Url + "Lists/listname");
これは私にぴったりです:
string sitecol= SPContext.Current.Site.Url.ToString();
string list= myList.DefaultView.Url.ToString();
string listlink = sitecol + "/" + list;