RealPath:
WebPath:
2016/11/08 17:47 (JST) 更新
Tipsその2 >>

入力パラメータの取得

Contents

仮に http://abc.com:81/Home/Index?abc=0&hoge=xyz という URL へのアクセスがあった場合、各要素をどのように取得するのかについて解説します。

URL関連情報

// 生URL
string url = Request.Url.ToString(); // "http://abc.com:81/Home/Index?abc=0&hoge=xyz"

// ホスト名・ポート
string host = Request.Url.Host; // "abc.com"
int port = Request.Url.Port; // 81

// パス
string path = Request.Path; // "/Home/Index"

// クエリ文字列
string query = @Request.QueryString.ToString(); // "abc=0&hoge=xyz"

// クエリ文字列の各要素分解
foreach (string k in Request.QueryString.Keys) // k = "abc", "hoge"
{
	string v = Request.QueryString.Get(k); // v = "0", "xyz"
}

ルーティング情報

// コントローラ名
string controller = ViewContext.RouteData.Values["controller"].ToString(); // "Home"

// アクション名
string action = ViewContext.RouteData.Values["action"].ToString(); // "Index"