在MonoRail裡面存在Url和Controller之間的對應關系(當然,這種映射關系我們也可以修改),網上也有了一些說明,但好像不太完全。我再總結一下,有遺漏的,歡迎增加:
1、 普通方式
MonoRail學習筆記十:Controller和Url的對應關系 public class HomeController : Controller
MonoRail學習筆記十:Controller和Url的對應關系 {
MonoRail學習筆記十:Controller和Url的對應關系 public void Index()
MonoRail學習筆記十:Controller和Url的對應關系 {
MonoRail學習筆記十:Controller和Url的對應關系 }
MonoRail學習筆記十:Controller和Url的對應關系 }
對應的是:http://***/home/index.rails, vm檔案對應views/home/index.vm
2、 ControllerDetails方式
MonoRail學習筆記十:Controller和Url的對應關系 [ControllerDetails("Extended2")]
MonoRail學習筆記十:Controller和Url的對應關系 public class ExtendedController : Controller
MonoRail學習筆記十:Controller和Url的對應關系
MonoRail學習筆記十:Controller和Url的對應關系 public void Save()
MonoRail學習筆記十:Controller和Url的對應關系
MonoRail學習筆記十:Controller和Url的對應關系 throw new Exception();
MonoRail學習筆記十:Controller和Url的對應關系
MonoRail學習筆記十:Controller和Url的對應關系 對應的是:http://***/Extended2/Save.rails, vm檔案對應views/Extended2/Save.vm
3、 Area方式
MonoRail學習筆記十:Controller和Url的對應關系 [ControllerDetails(Area="subarea")]
MonoRail學習筆記十:Controller和Url的對應關系
MonoRail學習筆記十:Controller和Url的對應關系
MonoRail學習筆記十:Controller和Url的對應關系
MonoRail學習筆記十:Controller和Url的對應關系
MonoRail學習筆記十:Controller和Url的對應關系
MonoRail學習筆記十:Controller和Url的對應關系
MonoRail學習筆記十:Controller和Url的對應關系
MonoRail學習筆記十:Controller和Url的對應關系 4、 Default動作
可以設定:
MonoRail學習筆記十:Controller和Url的對應關系 [DefaultAction("Index")]
MonoRail學習筆記十:Controller和Url的對應關系 public class ServletController : Controller
MonoRail學習筆記十:Controller和Url的對應關系
MonoRail學習筆記十:Controller和Url的對應關系 public void Index(int id, string name, int age, DateTime birthday)
MonoRail學習筆記十:Controller和Url的對應關系
MonoRail學習筆記十:Controller和Url的對應關系
MonoRail學習筆記十:Controller和Url的對應關系 }
那麼當所有通路http://***/servlet/aa.rails時,當ServletController中沒有對應方法時,都會自動執行Index方法 (vm檔案對應views/servlet/aa.vm)
5、 動态動作
MonoRail學習筆記十:Controller和Url的對應關系 [DynamicActionProvider( typeof(DynamicActionProvider1) )]
MonoRail學習筆記十:Controller和Url的對應關系 public class DynController : Controller
MonoRail學習筆記十:Controller和Url的對應關系
MonoRail學習筆記十:Controller和Url的對應關系
MonoRail學習筆記十:Controller和Url的對應關系
MonoRail學習筆記十:Controller和Url的對應關系 public class DynamicActionProvider1 : IDynamicActionProvider
MonoRail學習筆記十:Controller和Url的對應關系
MonoRail學習筆記十:Controller和Url的對應關系 public void IncludeActions(Controller controller)
MonoRail學習筆記十:Controller和Url的對應關系
MonoRail學習筆記十:Controller和Url的對應關系 controller.DynamicActions["index"] = new IndexDynamicAction();
MonoRail學習筆記十:Controller和Url的對應關系
MonoRail學習筆記十:Controller和Url的對應關系
MonoRail學習筆記十:Controller和Url的對應關系 public class IndexDynamicAction : IDynamicAction
MonoRail學習筆記十:Controller和Url的對應關系
MonoRail學習筆記十:Controller和Url的對應關系 public void Execute(Controller controller)
MonoRail學習筆記十:Controller和Url的對應關系
MonoRail學習筆記十:Controller和Url的對應關系 controller.PropertyBag.Add("message", "hello!");
MonoRail學習筆記十:Controller和Url的對應關系
MonoRail學習筆記十:Controller和Url的對應關系 那麼對于某一個action在很多Controller中都會用到的情況,就可以把這個action定義在DynamicAction中
本文轉自永春部落格園部落格,原文連結:http://www.cnblogs.com/firstyi/archive/2007/10/26/939057.html,如需轉載請自行聯系原作者