2010-09-15 59 views
0

有很多我很享受与asp.net MVC 2 ...但有时我觉得我试图找到一个潜伏在干草堆里的针,用棍子敲打它。在MVC 2中使用AuthorizeAttribute或动态UI的操作 - 最佳实践?

所以。我有一个对象列表。我有一个强类型的视图,它列出了这些对象。我有数据注释回来只是可爱的,一切都很好,很好。

现在我想创建一个非常相同列表的管理视图。难道我:

  1. 创建一个新的观点,叫做AdminList,并把所有的行政东西在那里(CRUD!),在相同的控制器一个新的动作,和装饰用[授权],或两个动作

  2. 修改现有的视图,使得其动态地检测当前用户的角色和启用/禁用适当管理功能,或

  3. 某些第三种选择?

我正在寻找最干净,最脆弱的方法。

TIA!

回答

0

我建议你外在的可重复使用的谐音共用部位,在主视图根据用户角色启用/禁用管理员功能。此外,它不认为责任测试的用户角色,这应该由控制器来完成,包括该信息到视图模型(如布尔属性ShouldDisplayAdminPanel),这样的观点来决定是否包括谐音。

+0

感谢Darin,这实际上是我采取的方法。但是,这些切换代码中的一部分非常小。如显示表头或不显示。甚至不值得部分观点... – morganpdx 2010-09-17 21:38:01