C#分面搜索删除存在重复键名称的选定选项

C#分面搜索删除存在重复键名称的选定选项,c#,asp.net,C#,Asp.net,我正在开发一个分面搜索系统,需要帮助 我有一个表单,允许您使用复选框按位置筛选: 如果我同时检查意大利和西班牙并提交表单,所有匹配的位置都会从数据库中获取,url如下所示: /mywebsite/index.aspx?location=Italy&location=Spain 我试图编写的下一个代码是删除一个单独的位置,在它旁边有一个红色的x超链接,所以在这里我将尝试删除西班牙: 我尝试过使用以下代码,但它会从url中删除所有位置实例!所以西班牙和意大利都被删除了,而不仅仅是西班牙

我正在开发一个分面搜索系统,需要帮助

我有一个表单,允许您使用复选框按位置筛选:

如果我同时检查意大利和西班牙并提交表单,所有匹配的位置都会从数据库中获取,url如下所示:

/mywebsite/index.aspx?location=Italy&location=Spain
我试图编写的下一个代码是删除一个单独的位置,在它旁边有一个红色的x超链接,所以在这里我将尝试删除西班牙:

我尝试过使用以下代码,但它会从url中删除所有位置实例!所以西班牙和意大利都被删除了,而不仅仅是西班牙

NameValueCollection nvc = HttpUtility.ParseQueryString(HttpContext.Current.Request.Url.Query);
nvc.Remove("location");
我可以循环查询字符串,并将每个键与“位置”进行比较,将键值与我的db值进行比较:

for (int i = 0; i < nvc.Count; i++)
{
    if ( (nvc.Keys[i] == "location") && (nvc[i].Contains(locationFromDB)) )
    {

        Response.Write("<p>Found location " + locationFromDB + " in " + nvc.Keys[i] + " - " + nvc[i] + "</p>");

    }                                
}
我只是不确定在输出的url中删除location的单个实例的代码应该是什么


有人能帮忙吗?

我认为您的url的查询字符串导致未定义behavior@ragerory不幸的是,在您提交一个带有多个复选框的表单后,查询字符串就是这样的。您是否可以将remove放在有响应的循环中。
Found location Spain in location - Italy,Spain