MonoRail学习笔记十:Controller和Url的对应关系

简介:
在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://www.cnblogs.com/firstyi/archive/2007/10/26/939057.html,如需转载请自行联系原作者


相关文章
|
2月前
|
JSON 监控 数据格式
Ansible 学习笔记 - 批量巡检站点 URL 状态
Ansible 学习笔记 - 批量巡检站点 URL 状态
|
8月前
|
前端开发
前端学习笔记202307学习笔记第五十五天-node-客户端,服务器,Url之3
前端学习笔记202307学习笔记第五十五天-node-客户端,服务器,Url之3
35 1
|
8月前
|
前端开发
前端学习笔记202307学习笔记第五十五天-node-客户端,服务器,Url
前端学习笔记202307学习笔记第五十五天-node-客户端,服务器,Url
39 0
|
8月前
|
前端开发
前端学习笔记202307学习笔记第五十五天-node-客户端,服务器,Url之2
前端学习笔记202307学习笔记第五十五天-node-客户端,服务器,Url之2
45 0
|
10月前
|
前端开发
前端学习笔记202303学习笔记第三天-Vue3.0-url-loader的loader格式
前端学习笔记202303学习笔记第三天-Vue3.0-url-loader的loader格式
44 0
|
10月前
|
前端开发
前端学习笔记202303学习笔记第三天-Vue3.0-url-loader的loader格式
前端学习笔记202303学习笔记第三天-Vue3.0-url-loader的loader格式
43 0
|
SQL 监控 HIVE
网站流量日志分析--数据入库--宽表具体实现2—解析 url|学习笔记
快速学习网站流量日志分析--数据入库--宽表具体实现2—解析 url
135 0
网站流量日志分析--数据入库--宽表具体实现2—解析 url|学习笔记
学习笔记jira项目65-用url参数管理模态框项目
学习笔记jira项目65-用url参数管理模态框项目
53 0
学习笔记jira项目65-用url参数管理模态框项目
|
前端开发 JavaScript PHP
对于服务器来说请求 url 就是一个标识符|学习笔记
快速学习对于服务器来说请求 url 就是一个标识符
109 0
对于服务器来说请求 url  就是一个标识符|学习笔记
|
JSON JavaScript 数据格式
HackerNews05-通过使用url模块的parse方法获取用户get提交的数据|学习笔记
快速学习 HackerNews05-通过使用url模块的parse方法获取用户get提交的数据
103 0
HackerNews05-通过使用url模块的parse方法获取用户get提交的数据|学习笔记

热门文章

最新文章