首页 > 代码库 > Asp.net QueryString批量插入和更新

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 = 0;            if (request.QueryString.HasKeys())            {                for (var i = 0; i < request.QueryString.AllKeys.Length;i++ )                {                    keyValue = request.QueryString.AllKeys[i];                    if (string.IsNullOrEmpty(keyValue))                    {                        continue;                    }                    if (Array.IndexOf<string>(keys, keyValue) != -1)                    {                        continue;                    }                    keyCurrent = request.QueryString[i];                    if (string.IsNullOrEmpty(keyValue))                    {                        continue;                    }                    if (i != 0)                    {                        pathBuilder.AppendFormat("&{0}={1}", keyValue, keyCurrent);                    }                    else                    {                        pathBuilder.AppendFormat("{0}={1}", keyValue, keyCurrent);                    }                    handedCount++;                }            }            for (var i = 0; i < keys.Length; i++)            {                keyValue = keys[i];                keyCurrent = values[i];                if (string.IsNullOrEmpty(keyValue) || string.IsNullOrEmpty(keyCurrent))                {                    continue;                }                if (handedCount++ != 0)                {                    pathBuilder.AppendFormat("&{0}={1}", keyValue,keyCurrent);                }                else                {                    pathBuilder.AppendFormat("{0}={1}", keyValue, keyCurrent);                }            }            return pathBuilder.ToString();        }