using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Collections.Specialized;
using System.Text;
/// <summary>
/// QueryValueCollection 的摘要说明
/// </summary>
public class QueryValueCollection : NameValueCollection
{
//
// TODO: 在此处添加构造函数逻辑
//
public QueryValueCollection(string str, bool readOnly, bool urlencoded, Encoding encoding)
{
if (!string.IsNullOrEmpty(str))
{
this.FillFromString(str, urlencoded, encoding);
}
base.IsReadOnly = readOnly;
}
public void FillFromString(string s, bool urlencoded, Encoding encoding)
{
int num = (s != null) ? s.Length : 0;
for (int i = 0; i < num; i++)
{
int startIndex = i;
int num4 = -1;
while (i < num)
{
char ch = s[i];
if (ch == '=')
{
if (num4 < 0)
{
num4 = i;
}
}
else if (ch == '&')
{
break;
}
i++;
}
string str = null;
string text2 = null;
if (num4 >= 0)
{
str = s.Substring(startIndex, num4 - startIndex);
text2 = s.Substring(num4 + 1, (i - num4) - 1);
}
else
{
text2 = s.Substring(startIndex, i - startIndex);
}
if (urlencoded)
{
base.Add(HttpUtility.UrlDecode(str, encoding), HttpUtility.UrlDecode(text2, encoding));
}
else
{
base.Add(str, text2);
}
if ((i == (num - 1)) && (s[i] == '&'))
{
base.Add(null, string.Empty);
}
}
}
}
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Collections.Specialized;
using System.Text;
/// <summary>
/// QueryValueCollection 的摘要说明
/// </summary>
public class QueryValueCollection : NameValueCollection
{
//
// TODO: 在此处添加构造函数逻辑
//
public QueryValueCollection(string str, bool readOnly, bool urlencoded, Encoding encoding)
{
if (!string.IsNullOrEmpty(str))
{
this.FillFromString(str, urlencoded, encoding);
}
base.IsReadOnly = readOnly;
}
public void FillFromString(string s, bool urlencoded, Encoding encoding)
{
int num = (s != null) ? s.Length : 0;
for (int i = 0; i < num; i++)
{
int startIndex = i;
int num4 = -1;
while (i < num)
{
char ch = s[i];
if (ch == '=')
{
if (num4 < 0)
{
num4 = i;
}
}
else if (ch == '&')
{
break;
}
i++;
}
string str = null;
string text2 = null;
if (num4 >= 0)
{
str = s.Substring(startIndex, num4 - startIndex);
text2 = s.Substring(num4 + 1, (i - num4) - 1);
}
else
{
text2 = s.Substring(startIndex, i - startIndex);
}
if (urlencoded)
{
base.Add(HttpUtility.UrlDecode(str, encoding), HttpUtility.UrlDecode(text2, encoding));
}
else
{
base.Add(str, text2);
}
if ((i == (num - 1)) && (s[i] == '&'))
{
base.Add(null, string.Empty);
}
}
}
}