首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于父-子关系的MVC路由

问用于父-子关系的MVC路由
EN

Stack Overflow用户
提问于 2009-12-27 04:55:34
回答 1查看 2.9K关注 0票数 3

我正在构建一个APS.net MVC 2应用程序,其中我有一个父表和一个子表。

我已经为父表构建了控制器、视图和模型,因此我可以从父表中添加、编辑、查看详细信息和dete记录。

我使用以下路由来执行此操作:

代码语言:javascript
复制
routes.MapRoute(
                "Default",                                              // Route name
                "{controller}/{action}/{id}",                           // URL with parameters
                new { controller = "Parent", action = "List", id = "" }  // Parameter defaults

这个设置允许我在我的应用程序中使用以下urls:

列出所有父记录的

:/父/列表

查看特定父记录的详细信息: / parent / details /< ID>

编辑指定的父记录: / parent / Edit /< ID>

等

现在,我为每个父记录都有一个子表。标准的路由是什么?

列出特定父程序的app子记录:父//子/列表

查看特定子记录的详细信息:子/详细信息/< ID>

编辑特定的子记录:子/编辑/< ID>

看上去对吗?我该如何设置MapRoute呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-12-27 09:17:47

对于您列表中的第二项和第三项,您目前的路线将是好的,也就是说,如果您有一个子控制器。

代码语言:javascript
复制
To list app child records for a specific parent: Parent/< ID>/Child/List 
To view details for a specific child record: Child/Details/< ID> 
To edit a specific child record: Child/Edit/< ID>

对于第一项,只需创建一个新的路由。

代码语言:javascript
复制
routes.MapRoute(
 "ParentWithChild", 
 "{parent}/{id}/Child/List", 
 new { controller = "Child", action = "ChildList", id = "", parent=""} 

我假设您希望使用控制器子级,并将创建一个名为ChildList的新操作方法。

签名会是这样的

代码语言:javascript
复制
public ActionResult ChildList(string parent, string id)

如果“父”是“父”一词而不是名称,则该路由将是

代码语言:javascript
复制
 "Parent/{id}/Child/List",

签名会是

代码语言:javascript
复制
public ActionResult ChildList(string id)
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1965210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档