【发布时间】:2011-08-07 00:30:28
【问题描述】:
最初这将是一个询问如何执行任务的问题,但现在它变成了一个最佳实践问题。
我正在使用 MVC(对它来说还是个新手),并且我试图创建一个任何控制器都可以调用的方法,该方法将运行一个通用的功能。在该方法中,我需要运行控制器的 TryUpdateModel 方法。这是我遇到障碍的地方-除非该方法在控制器中,否则我无法执行此操作,因为 TryUpdateModel “由于其保护级别而无法访问”-它被标记为“受保护”。如果我必须将此方法设为每个控制器的私有方法,那将首先破坏拥有该方法的全部目的,并且我将复制粘贴大量代码。
所以我想知道,为什么这个方法受到保护?当然,我一定遗漏了一些明显的东西。 (请务必阐明)
我最终创建了自己的控制器类,该类继承自基本控制器类。这个新类包含我需要与所有控制器通用的方法。现在我的控制器继承自我构建的这个新控制器类,它又继承自基本控制器类。它运作良好,似乎非常适合模型。
我的问题是——对于那些经常使用 MVC 的人来说,这种模型是不是坏主意?采用这样的中心类并自己制作并使用它通常不是一个坏主意吗?
【问题讨论】:
-
一些描述您正在尝试做的事情的基本示例代码将帮助人们更好地理解问题
标签: model-view-controller asp.net-mvc-3 controller