http://www.my-clip.net/Account/Login/
このURLはAccountControllerのLoginというActionを要求している。ActionというのはControllerの実際の動作にあたる。ControllerのpublicメソッドはすべてActionになる。つまり外部から呼び出し可能ということになるので注意が必要だ。
では実際にAccountControllerのLoginメソッドを見てみよう。
public ActionResult Login() { return View("Login"); }
Loginメソッドの戻り値としてLoginViewを返却している。このLoginViewというのは、/Views/Account/Login.aspxを指している。ちなみにLoginメソッドの返却値を以下のように変更してもASP.NET MVC的にはまったく問題が無い。
public ActionResult Login() { return View("AnotherLogin"); }
ただし、/Views/Account/AnotherLogin.aspxが存在することが必須だ。
このようにASP.NET MVCは実際のaspxを隠蔽しているのでエンドユーザーはその存在をうかがい知れない。ここがMVCと銘打たれた所以だろう。ちなみにIdなどのパラメータを渡したい場合は下記のようになる。
http://www.my-clip.net/Clip/Details/23
23の部分がIdにあたる。上記の例は、ClipControllerのDetailsActionをId=23で要求している。複数のパラメータを渡したい場合は下記のようになる。
http://www.my-clip.net/Account/Login?username=yokyo&preference=japanese
これで大体Routingがどういうものか理解できたかと思う。次回はカスタムRoutingを解説したいと思う。
0 件のコメント:
コメントを投稿