MonoRail学习笔记十:Controller和Url的对应关系
2009-04-27 15:41
591 查看
在MonoRail里面存在Url和Controller之间的对应关系(当然,这种映射关系我们也可以修改),网上也有了一些说明,但好像不太完全。我再总结一下,有遗漏的,欢迎增加:
1、 普通方式
public class HomeController : Controller
{
public void Index()
{
}
}
对应的是:http://***/home/index.rails, vm文件对应views/home/index.vm
2、 ControllerDetails方式
[ControllerDetails("Extended2")]
public class ExtendedController : Controller
{
public void Save()
{
throw new Exception();
}
}
对应的是:http://***/Extended2/Save.rails, vm文件对应views/Extended2/Save.vm
3、 Area方式
[ControllerDetails(Area="subarea")]
public class HomeController : Controller
{
public void Index()
{
}
}
对应的是:http://****/subarea/home/Index.rails, vm文件对应views/subarea/home/Index.vm
4、 Default动作
可以设置:
[DefaultAction("Index")]
public class ServletController : Controller
{
public void Index(int id, string name, int age, DateTime birthday)
{
}
}
那么当所有访问http://***/servlet/aa.rails时,当ServletController中没有对应方法时,都会自动执行Index方法 (vm文件对应views/servlet/aa.vm)
5、 动态动作
[DynamicActionProvider( typeof(DynamicActionProvider1) )]
public class DynController : Controller
{
}
public class DynamicActionProvider1 : IDynamicActionProvider
{
public void IncludeActions(Controller controller)
{
controller.DynamicActions["index"] = new IndexDynamicAction();
}
}
public class IndexDynamicAction : IDynamicAction
{
public void Execute(Controller controller)
{
controller.PropertyBag.Add("message", "hello!");
}
}
对应的是:http://****/dyn/Index.rails, vm文件对应views/dyn/Index.vm
那么对于某一个action在很多Controller中都会用到的情况,就可以把这个action定义在DynamicAction中
对应的是:http://****/dyn/Index.rails, vm文件对应views/dyn/Index.vm
那么对于某一个action在很多Controller中都会用到的情况,就可以把这个action定义在DynamicAction中
1、 普通方式
public class HomeController : Controller
{
public void Index()
{
}
}
对应的是:http://***/home/index.rails, vm文件对应views/home/index.vm
2、 ControllerDetails方式
[ControllerDetails("Extended2")]
public class ExtendedController : Controller
{
public void Save()
{
throw new Exception();
}
}
对应的是:http://***/Extended2/Save.rails, vm文件对应views/Extended2/Save.vm
3、 Area方式
[ControllerDetails(Area="subarea")]
public class HomeController : Controller
{
public void Index()
{
}
}
对应的是:http://****/subarea/home/Index.rails, vm文件对应views/subarea/home/Index.vm
4、 Default动作
可以设置:
[DefaultAction("Index")]
public class ServletController : Controller
{
public void Index(int id, string name, int age, DateTime birthday)
{
}
}
那么当所有访问http://***/servlet/aa.rails时,当ServletController中没有对应方法时,都会自动执行Index方法 (vm文件对应views/servlet/aa.vm)
5、 动态动作
[DynamicActionProvider( typeof(DynamicActionProvider1) )]
public class DynController : Controller
{
}
public class DynamicActionProvider1 : IDynamicActionProvider
{
public void IncludeActions(Controller controller)
{
controller.DynamicActions["index"] = new IndexDynamicAction();
}
}
public class IndexDynamicAction : IDynamicAction
{
public void Execute(Controller controller)
{
controller.PropertyBag.Add("message", "hello!");
}
}
对应的是:http://****/dyn/Index.rails, vm文件对应views/dyn/Index.vm
那么对于某一个action在很多Controller中都会用到的情况,就可以把这个action定义在DynamicAction中
对应的是:http://****/dyn/Index.rails, vm文件对应views/dyn/Index.vm
那么对于某一个action在很多Controller中都会用到的情况,就可以把这个action定义在DynamicAction中
相关文章推荐
- MonoRail学习笔记十:Controller和Url的对应关系
- MonoRail学习笔记十:Controller和Url的对应关系
- MonoRail中URL与Controller对应关系
- 【数据库学习笔记】(3)SQL数据类型与Java数据类型的对应关系
- Spring MVC 学习笔记3 - 利用Default Annotation 模式获取请求,使Controller与View对应,并传值。
- [原创]java WEB学习笔记81:Hibernate学习之路--- 对象关系映射文件(.hbm.xml):hibernate-mapping 节点,class节点,id节点(主键生成策略),property节点,在hibernate 中 java类型 与sql类型之间的对应关系,Java 时间和日期类型的映射,Java 大对象类型 的 映射 (了解),映射组成关系
- 【Unity学习笔记】Unity设置单位长度与像素间的对应关系
- 自定义属性建立匹配、对应关系——JS学习笔记2015-5-27(第40天)
- 云计算学习笔记003---Hadoop简介,hadoop实现原理,NoSQL介绍...与传统关系型数据库对应关系,云计算面临的挑战
- 云计算学习笔记---Hadoop简介,hadoop实现原理,NoSQL介绍...与传统关系型数据库对应关系,云计算面临的挑战
- abap学习笔记-SAP字段与表的对应关系
- 云计算学习笔记---Hadoop简介,hadoop实现原理,NoSQL介绍...与传统关系型数据库对应关系,云计算面临的挑战
- SpringMVC学习笔记(三)-----Controller拦截3种类型的URL
- 数据、进程-云计算学习笔记---Hadoop简介,hadoop实现原理,NoSQL介绍...与传统关系型数据库对应关系,云计算面临的挑战-by小雨
- Fielding的博士论文学习笔记(二)——概念和术语与现实网络模型的对应关系
- 学习笔记--JDK中的URLConnection参数详解
- J2EE系列之MyBatis学习笔记(四)-- mybatis关系映射(一对一映射)
- JS 正则表达式(学习笔记2)匹配网址url参数
- 微软企业库4.1学习笔记(二)各功能之间的依赖关系以及对象创建