user2239888
user2239888

Reputation: 11

How can i remove ids one by one from querystring in asp.net using c#?

I want remove "ids"one by one querystring from my url. How can i do this ? (using Asp.net4.0 , c#)

Default.aspx?ids=10,2,6,5

I want to remove"ids=6", but language would be the first,middle or last, so I will have this :

Default.aspx?ids=10,2,5,

Upvotes: 0

Views: 139

Answers (2)

Ratna
Ratna

Reputation: 2319

Step 1. Have your ids in an array by:-

string[] idsarray = Request.QueryString["ids"].ToString().Split(',');

step 2. create a function to remove as per your language

string removeidat(string[] id, string at)
{
     string toren = "";
     int remat = -1;
     if (at=="first")
     {
          remat = 0;
     }
     else if (at == "middle")
     {
          remat = id.Length / 2;
     }
     else
     {
          remat = id.GetUpperBound(0);
     }
     for (int i = 0; i < id.GetUpperBound(0); i++)
     {
          if (i!=remat)
          {
               toren += id[i] + ",";
          }
     }
     if (toren.Length>0)
     {
          toren = toren.Substring(0, toren.Length - 1);
     }
     return toren;
}

Example : if you want to remove last id your code would be

string[] idsarray = Request.QueryString["ids"].ToString().Split(',');
string newids = removeidat(idsarray , "last")

Upvotes: 1

Tim Schmelter
Tim Schmelter

Reputation: 460288

string strIDs = Request.QueryString["ids"];
if(strIDs != null)
{
    string[] ids = strIDs.Split(new[]{','}, StringSplitOptions.RemoveEmptyEntries);
    var no6 = ids.Where(id => id != "6");
    string newUrl = string.Format("Default.aspx?ids={0}", string.Join(",", no6));
    Response.Redirect(newUrl);
}

Upvotes: 0

Related Questions