【发布时间】:2011-08-29 07:16:57
【问题描述】:
更新
考虑以下8条路线,其中Administration是area,controller是EmployeesController,Id是EmployeeId: p>
-
Administration/Corporate/{controller}/{Id}/Phones/{PhoneId}/Delete- 行动=
DeletePhone
- 行动=
-
Administration/Corporate/{controller}/{Id}/Phones/{PhoneId}/Deactivate- 行动=
DeactivatePhone
- 行动=
-
Administration/Corporate/{controller}/{Id}/Phones/{PhoneId}/Activate- 行动=
ActivatePhone
- 行动=
-
Administration/Corporate/{controller}/{Id}/Notes/{NoteId}/Delete- 行动=
DeleteNote
- 行动=
-
Administration/Corporate/{controller}/{Id}/Files/{FileId}/Delete- 行动=
DeleteFile
- 行动=
-
Administration/Corporate/{controller}/{Id}/Addresses/{AddressId}/Delete- 行动=
DeleteAddress
- 行动=
-
Administration/Corporate/{controller}/{Id}/Addresses/{AddressId}/Deactivate- 行动=
DeactivateAddress
- 行动=
-
Administration/Corporate/{controller}/{Id}/Addresses/{AddressId}/Activate- 行动=
ActivateAddress
- 行动=
我怎样才能把它变成:
Administration/Corporate/{controller}/{Id}/{object}/{ObjectId}/{action} 其中 object 是 Phones|Notes|Files|Addresses|? 而 action 是 Delete|Deactivate|Activate|??
- 我需要获取 object 并将其单数化(我已经有代码)。
- 对象 =
Phones(Phone)
- 对象 =
- 采取action并将其转换(重写?)为action + object(单数化)。
- 动作 =
Delete+Phone(DeletePhone)
- 动作 =
我可以做任何事情,直到第二个 #2,问题是如何将动作转换为其他东西在路由定义中?
这有可能吗?将我现在拥有的 8 条路线变成 1 条路线会很好。这个例子只使用我的EmployeesController,我的CustomersController 是两倍大小,所以大约 16 条路线可以变成 1 条路线。这样可以节省大量的空间和代码。
无论如何,如果可能的话,我期待着建议和想法。
【问题讨论】:
标签: c# asp.net-mvc asp.net-mvc-3 routing routes