2014/10/28 - [프로그램 자료/Java Script] - JavaScript 에서 URL Query 가져오고, 값 변경 하기
public class UrlQuery
{
public static Dictionary<string, string> GetDicParam()
{
Dictionary<string, string> dicParam = new Dictionary<string, string>();
string param = HttpContext.Current.Request.Url.Query;
if (string.IsNullOrWhiteSpace(param))
return dicParam;
param = HttpUtility.UrlDecode(param.Substring(1, param.Length - 1));
System.Text.RegularExpressions.Regex rx = new System.Text.RegularExpressions.Regex("([^&=]+)=?([^&]*)", System.Text.RegularExpressions.RegexOptions.Multiline);
string s = "";
foreach (System.Text.RegularExpressions.Match m in rx.Matches(param))
{
string[] k = m.ToString().Split('=');
if (!string.IsNullOrWhiteSpace(k[1]))
dicParam.Add(k[0], k[1]);
}
return dicParam;
}
public static string GetStrParam(Dictionary<string, string> urlQuery)
{
string param = string.Empty;
foreach (KeyValuePair<string, string> p in urlQuery)
{
param += string.Format("&{0}={1}", p.Key, HttpUtility.UrlEncode(p.Value));
}
param = param.Substring(1, param.Length - 1);
return param;
}
public static string GetUrlAndParam(Dictionary<string, string> urlQuery)
{
string param = string.Empty;
foreach (KeyValuePair<string, string> p in urlQuery)
{
param += string.Format("&{0}={1}", p.Key, HttpUtility.UrlEncode(p.Value));
}
param = param.Substring(1, param.Length - 1);
param = string.Format("{0}?{1}", HttpContext.Current.Request.Url.AbsolutePath, param);
return param;
}
}