如何安全地格式化URL

时间:2012-10-02 20:35:50

标签: c# string sharepoint concatenation

我有一个使用URL访问资源的SharePoint应用程序。

代码:

return web.GetList(web.ServerRelativeUrl + "/lists/UserSettings");

当我在子网站上时,此功能正常,因为ServerRelativeUrl将返回"/sitename"

但是,当这是一个根网站时,ServerRelativeUrl会返回"/",导致格式不正确的网址,例如"//lists/UserSettings"

我知道这似乎是一个简单的问题(事实确实如此),但是有一种最佳做法可以解决这种始终安全的情况吗?

4 个答案:

答案 0 :(得分:1)

您是否看过System.UriSystem.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");