gpt4 book ai didi

asp.net-mvc - 父子关系的 MVC 路由

转载 作者:行者123 更新时间:2023-12-01 13:07:31 26 4
gpt4 key购买 nike

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

我已经为父表构建了 Controller 、 View 和模型,因此我可以从父表添加、编辑、查看详细信息和删除记录。

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

routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Parent", action = "List", id = "" } // Parameter defaults

此设置让我可以在我的应用中使用以下网址:

To list all parent records: /Parent/List
To view details for a specific parent record: /Parent/Details/< ID>
To Edit a specifc parent record: /Parent/Edit/< ID>


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

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>

这样看起来对吗?我将如何设置 MapRoute?

最佳答案

对于列表中的第 2 项和第 3 项,您当前的路线就可以了,也就是说,如果您有子 Controller 。

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>

对于第一项,只需创建一条新路线

routes.MapRoute(
"ParentWithChild",
"{parent}/{id}/Child/List",
new { controller = "Child", action = "ChildList", id = "", parent=""}

我假设您想使用子 Controller 并将创建一个名为 ChildList 的新操作方法

签名是这样的

public ActionResult ChildList(string parent, string id)

快速点,如果“Parent”是单词 parent 而不是名称,那么路线将是

 "Parent/{id}/Child/List",

签名是

public ActionResult ChildList(string id)

关于asp.net-mvc - 父子关系的 MVC 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1965210/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com