我想从我的网址中删除"语言"查询字符串.我怎样才能做到这一点 ?(使用Asp.net 3.5,c#)
Default.aspx?Agent=10&Language=2
Run Code Online (Sandbox Code Playgroud)
我想删除"语言= 2",但语言将是第一个,中间或最后一个.所以我会有这个
Default.aspx?Agent=20
Run Code Online (Sandbox Code Playgroud) 如何从Url中删除Key的查询字符串?
我有以下方法工作正常但只是想知道有更好/更短的方式?或内置的.NET方法,可以更有效地做到这一点?
public static string RemoveQueryStringByKey(string url, string key)
{
var indexOfQuestionMark = url.IndexOf("?");
if (indexOfQuestionMark == -1)
{
return url;
}
var result = url.Substring(0, indexOfQuestionMark);
var queryStrings = url.Substring(indexOfQuestionMark + 1);
var queryStringParts = queryStrings.Split(new [] {'&'});
var isFirstAdded = false;
for (int index = 0; index <queryStringParts.Length; index++)
{
var keyValue = queryStringParts[index].Split(new char[] { '=' });
if (keyValue[0] == key)
{
continue;
}
if (!isFirstAdded)
{
result += "?";
isFirstAdded = true;
}
else
{
result …Run Code Online (Sandbox Code Playgroud)