ASP.Net MVC 是否支持嵌套资源? [英] ASP.Net MVC support for Nested Resources?

查看:20
本文介绍了ASP.Net MVC 是否支持嵌套资源?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在寻找类似于通过 Rails 提供的嵌套 RESTFul 路由功能的路由选项.MvcContrib 上的 SimplyRestful 项目似乎不再处于活动状态,也似乎与 1.0 MVC 版本一样.

这是我正在寻找的 uri 方案,

/Activity/10/Task/1/Edit或者/Activity/10/Task/Edit/1

我根本无法让它工作,我遇到的所有文档都描述了非嵌套场景.好像没那么难……

这就是我一直在使用的......

<上一页>路线.MapRoute(空,"Activity/{activityId}/Task/{action}/{id}",新{控制器=任务",动作=编辑",activityId =",id ="});

解决方案

activity添加一个默认值:

routes.MapRoute(null,"Activity/{activityId}/Task/{action}/{id}/{activity}",新的 {控制器=任务",动作=编辑",id = "",活动 ID = "",活动 = "" });

还请记住,此路由只会获取表单上的 url

/Activity/10/Edit/1/theActivity

你的例子

/Activity/10/Edit/1

将被默认路由拾取,将路由值设置为

controller = "活动"动作 = 10"id = "编辑/1"

Phil Haack 的 路由调试器用于 ASP.NETMVC 对于弄清楚如何处理这些事情非常有用......

I'm looking for a routing option similar to the nested RESTFul routes functionality available through Rails. The SimplyRestful project on MvcContrib doesn't appear to be active any longer nor does it appear to be current with the 1.0 MVC release.

This is the uri scheme I'm looking for,

/Activity/10/Task/1/Edit or /Activity/10/Task/Edit/1

I simply haven't been able to get it to work and all the documentation I've run across describes the non-nested scenario. It doesn't seem like it'd be that difficult....

This is what I've been working with...

    routes.MapRoute(null,
        "Activity/{activityId}/Task/{action}/{id}", 
        new { controller = "Task", action = "Edit", activityId = "", id = "" });

解决方案

Add a default value for activity:

routes.MapRoute(null,
    "Activity/{activityId}/Task/{action}/{id}/{activity}",
    new { 
        controller = "Task", 
        action = "Edit", 
        id = "",
        activityId = "", 
        activity = "" });

Remember also that this route will only pick up urls on the form

/Activity/10/Edit/1/theActivity

while your example

/Activity/10/Edit/1

will be picked up by the default route, setting the route values to

controller = "Activity"
action = "10"
id = "Edit/1"

Phil Haack's Routing Debugger for ASP.NET MVC is extremely useful for figuring out how to work these things...

这篇关于ASP.Net MVC 是否支持嵌套资源?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆