有条件地形成URLtring

时间:2010-11-29 09:37:30

标签: c#

我有6-7个bool值,如bookmark,authoredBy和其他一些作为过滤器,我想形成url,如果任何过滤器应用它连接到主url像 什么?bookmark = true& author = true和这样我可以使用if else但是那将是冗长的还有其他任何方法

4 个答案:

答案 0 :(得分:1)

嗯,这样做,

........
string url = "http://www.google.com?";    
if(bookmark)
{
  url+="bookmark=true&"
}
if(author)
{
  url+="author=true&"
}
...........
对于其他变量,

采用相同的方式..

答案 1 :(得分: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);

答案 2 :(得分:1)

考虑使用URIBuilder类。请查看此示例 - http://www.codeproject.com/KB/aspnet/UrlBuilder.aspx

或者,检查此SO问题的答案。这是一个更面向对象的解决方案 -

ASP.NET: URI handling

答案 3 :(得分: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)