我正在使用仪表板页面,用户将有多个选择来选择属性,并根据所选属性生成最终的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"............);
但上述解决方案存在的问题是,无论选择与否,它都会产生一个长长的网址......
任何优化的解决方案?
答案 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();