Asp.net QueryString批量插入和更新

时间:2023-03-09 16:50:34
Asp.net QueryString批量插入和更新
public static string InsertOrUpdateQueryString(string[] keys, string[] values)
{
return InsertOrUpdateQueryString(System.Web.HttpContext.Current.Request, keys, values);
} public static string InsertOrUpdateQueryString(System.Web.HttpRequest request, string[] keys, string[] values)
{
string keyValue;
string keyCurrent; System.Text.StringBuilder pathBuilder = new System.Text.StringBuilder(request.Path);
pathBuilder.Append("?");
int handedCount = ;
if (request.QueryString.HasKeys())
{
for (var i = ; i < request.QueryString.AllKeys.Length;i++ )
{
keyValue = request.QueryString.AllKeys[i];
if (string.IsNullOrEmpty(keyValue))
{
continue;
} if (Array.IndexOf<string>(keys, keyValue) != -)
{
continue;
}
keyCurrent = request.QueryString[i]; if (string.IsNullOrEmpty(keyValue))
{
continue;
} if (i != )
{
pathBuilder.AppendFormat("&{0}={1}", keyValue, keyCurrent);
}
else
{
pathBuilder.AppendFormat("{0}={1}", keyValue, keyCurrent);
}
handedCount++;
}
}
for (var i = ; i < keys.Length; i++)
{
keyValue = keys[i];
keyCurrent = values[i];
if (string.IsNullOrEmpty(keyValue) || string.IsNullOrEmpty(keyCurrent))
{
continue;
}
if (handedCount++ != )
{
pathBuilder.AppendFormat("&{0}={1}", keyValue,keyCurrent);
}
else
{
pathBuilder.AppendFormat("{0}={1}", keyValue, keyCurrent);
}
}
return pathBuilder.ToString();
}