我有一个使用URL访问资源的SharePoint应用程序。
代码:
return web.GetList(web.ServerRelativeUrl + "/lists/UserSettings");
当我在子网站上时,此功能正常,因为ServerRelativeUrl
将返回"/sitename"
但是,当这是一个根网站时,ServerRelativeUrl
会返回"/"
,导致格式不正确的网址,例如"//lists/UserSettings"
我知道这似乎是一个简单的问题(事实确实如此),但是有一种最佳做法可以解决这种始终安全的情况吗?
答案 0 :(得分:1)
您是否看过System.Uri
和System.UriBuilder
类?
答案 1 :(得分:1)
new Uri(web.ServerRelativeUrl, "/lists/UserSettings");
好的,hrm ...尝试:
Path.Combine(web.ServerRelativeUrl, "/lists/UserSettings");
答案 2 :(得分:1)
使用绝对网址,这对我有用: web.GetList(web.Url +“/ lists / UserSettings”)
答案 3 :(得分:1)
return web.GetList( (web.ServerRelativeUrl == "/" ? string.Empty : web.ServerRelativeUrl) + "/lists/UserSettings");