如何构建一个优雅的自定义URL

本文关键字:自定义 URL 一个 何构建 构建 | 更新日期: 2023-09-27 18:08:24

我正在一个仪表板页面上工作,用户将有多个选择来选择属性,并根据所选择的属性生成最终的URL并渲染。

假设我有10个不同的属性:

ShowImage=true/false
ShowWindow=true/false
ShowAdmin = true/false
ShowAccounts = true/false
.............
..........
...........

我的URL将是静态的,它将到达生产环境,因此主机名方面没有变化。

所以这是我想到的:

const string URL = "http://www.hostname.com/cont.aspx?id={0}&link={1}&link={2}........"; 
string.Format(URL, "123","aaa123", "123"............); 

但是上面的解决方案的问题是,无论我选择与否,它都会生成一个很长的url…

任何优化的解决方案?

如何构建一个优雅的自定义URL

您可以使用StringBuilder类(System.Text名称空间):

StringBuilder sbUrl = new StringBuilder();
sbUrl.AppendFormat("http://www.hostname.com/cont.aspx?id={0}", 123);
if (ShowImage) {
    sbUrl.AppendFormat("&link1={0}", "aaa123");
}
if (ShowWindow) {    
    sbUrl.AppendFormat("&link2={0}", "aaa123");
}
string url = sbUrl.ToString();