1
4
如果用户控件出现在每一页上,那么解决这一问题的一种方法是使用一个基本控制器,所有控制器都从该基本控制器派生并生成用户控件的视图数据,方法是重写OnActionExecuting方法并将逻辑放在那里。如果您的用户控件不那么普及,但在整个站点中仍然经常使用,那么您可以扩展actionfilterattribute并让您的过滤器生成所需的数据。此属性可用于修饰生成使用UserControl的视图的控制器或操作。 在所有这些中,我假设用户控件的数据独立于被调用的操作。如果存在依赖关系,最好将逻辑推入类(或类,可能使用策略),并在每个操作或控制器中显式生成数据(通过重写OnActionExecuting)。 |
2
4
或者,使用ASP.NET MVC 2,您现在可以使用renderAction调用一个可以获取数据的全新控制器操作。这使您的代码更加模块化,并且更清楚数据来自何处。 |
3
-1
您还可以考虑将模型类放在层次结构中。上层(或其中一个上层)将包含普及用户控件所需的数据。然后您可以将这些常用的数据加载到基本控制器类中。 |
Pablo De Luca · 保存表单控件值以供以后使用 6 年前 |
Foitn · Winforms禁用数据预览 6 年前 |
Sach · 将WPF ScrollViewer内容导出为单独的PNG 6 年前 |