我正在构建一个APS.net MVC 2应用程序,我有一个父表和一个子表。
我已经为父表构建了控制器,视图和模型,因此我可以从父表中添加,编辑,查看详细信息和检测记录。
我使用以下路由来执行此操作:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Parent", action = "List", id = "" } // Parameter defaults
此设置允许我在我的应用中使用以下网址:
列出所有父记录: / Parent / List
查看详细信息 特定的父记录: /家长/细节/< ID>
编辑一个 特定父记录: /家长/编辑/< ID>
等
现在,每个父记录都有一个子表。这是什么标准路线?
列出a的应用子记录 特定父母: 父/< ID> /子/列表
查看 特定儿童记录的详细信息: 子/细节/< ID>
编辑一个 特定儿童记录:儿童/编辑/< ID>
看起来不错吗?我将如何设置MapRoute?
答案 0 :(得分:4)
对于列表中的第2和第3项,您当前的路线将没有问题,即如果您有子控制器。
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=""}
我假设您要使用控制器子项,并将创建一个名为ChildList
的新操作方法签名就像这样
public ActionResult ChildList(string parent, string id)
如果“父母”是父母而不是姓名,则快速指向路线
"Parent/{id}/Child/List",
和签名将是
public ActionResult ChildList(string id)