如何构建优雅的自定义URL

时间:2011-09-10 02:28:06

标签: c# asp.net

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

所以说我有10个不同的专家:

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

我的网址将是静态的,这将触及产品,因此HOSTNAME没有变化。

所以这就是我想出的:

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

但上述解决方案存在的问题是,无论选择与否,它都会产生一个长长的网址......

任何优化的解决方案?

1 个答案:

答案 0 :(得分:1)

您可以使用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();