public static class Navigator
{
<summary>
</summary>
public static void NavigateDefaultAspx()
{
Navigate("~/Default.aspx");
}
<summary>
</summary>
<param name="name"></param>
public static void NavigateHogeAspx(string name)
{
Navigate("~/Hoge.aspx", new KeyValuePair<string, string>("name", name));
}
<summary>
</summary>
<param name="baseUrl"></param>
<param name="queries"></param>
private static void Navigate(string baseUrl, params KeyValuePair<string, string>[] queries)
{
string url = NavigateHelper.CreateUrl(baseUrl, queries);
HttpContext.Current.Response.Redirect(url, false);
}
}
<summary>
</summary>
public static class NavigateHelper
{
<summary>
</summary>
<param name="baseUrl"></param>
<param name="queries"></param>
<returns></returns>
public static string CreateUrl(string baseUrl, params KeyValuePair<string, string>[] queries)
{
StringBuilder urlBuilder = new StringBuilder();
urlBuilder.Append(baseUrl);
bool firstQuery = true;
foreach (KeyValuePair<string, string> query in queries)
{
urlBuilder.Append((firstQuery ? "?" : "&"));
urlBuilder.AppendFormat("{0}={1}", HttpUtility.UrlEncode(query.Key), HttpUtility.UrlEncode(query.Value));
firstQuery = false;
}
return urlBuilder.ToString();
}
}