我正在尝试对类和类的某个部分以及其他部分进行建模。

所以路线应该是
类/类(创建,详细信息,索引,编辑)

然后我有一个分区控制器

ClassSection

所以我会做

Class / 1 / ClassSection /(Create,...),因为没有classid的ClassSection是无用的

然后进一步

类/ 1 / ClassSection / 1 /实例

去SectionInstance控制器

如何映射我的路线以符合此表示法

我已经尝试过在课堂上这样做

  routes.MapRoute(
      "ClassSections",
      "Class/{classid}/ClassSection/{action}/{id}",
      new { controller = "ClassSection" },
      new { classid = @"d+" }
  );


但我无法从Html.ActionLink在类的Index操作中生成正确的链接

最佳答案

您应该考虑使用Areas。听起来您已经朝这个方向发展,但是ASP.NET MVC 2.0已对此提供了特定的支持。

http://haacked.com/archive/2009/07/31/single-project-areas.aspx

考虑到Url模板中的“ Class”和“ ClassSection”有严格的约束,我怀疑您需要新的{classid = @“ d +”}使其唯一匹配。尝试删除MapRoute的那一部分,看看是否可以解决问题。

10-02 22:20