如何使用c#从asp.net中的querystring中逐一删除id

本文关键字:删除 id querystring 中的 何使用 asp net | 更新日期: 2023-09-27 18:07:23

我想从我的url逐个删除"id "查询字符串。我该怎么做呢?(使用Asp.net4.0, c#)

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

我想删除"ids=6",但语言将是第一个,中间或最后,所以我将有这个:

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

如何使用c#从asp.net中的querystring中逐一删除id

步骤1。将id放入数组中:-

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

步骤2。根据您的语言创建一个要删除的函数

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;
}

示例:如果你想删除最后一个id,你的代码将是

string[] idsarray = Request.QueryString["ids"].ToString().Split(',');
string newids = removeidat(idsarray , "last")
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);
}