2010-11-29 46 views
0

我有6-7 bool值,如书签,authoredBy和其他一些过滤器我想要形成url,如果任何过滤器应用它连接到主要的url像 something?bookmark = true & author = true像这样我就可以使用的if else,但是这将是漫长的,还有没有其他的办法有条件地生成URL字符串

回答

0
string formQueryFromBool(string name , bool val){ 
     return ((val) ? name + "=" + val.toString() : ""); 
    } 

bool bookmark=false; 
bool author=true; 
var qString = formQueryFromBool("bookmark",bookmark) + "&" + formQueryFromBool("author",author) 
+0

我不认为这是他的意思。他可能想知道如何在服务器端收到干净的文件。 – 2010-11-29 09:48:38

+0

你是正确的filip我想要什么,如果任何值是假的,那么不要把它添加到查询字符串只添加那些是真的 – Mac 2010-11-29 09:50:16

+0

@Mac在这种情况下看到我的答案.. – 2010-11-29 09:51:50

1

那么,在其他变量相同的方式做到这一点的方式,

........ 
string url = "http://www.google.com?";  
if(bookmark) 
{ 
    url+="bookmark=true&" 
} 
if(author) 
{ 
    url+="author=true&" 
} 
........... 

..

1
String url = "google.com?"; 

bool bookmark = true, author=true; 
if(bookmark) 
{ 
    url += "bookmark=true&"; 
} 
if(author) 
{ 
    url = "author=true&" 
} 
url = url.Substring(0,url.length-1);