在网络表单中实施MVP的困惑

时间:2017-05-29 13:03:21

标签: c# asp.net webforms mvp

问题

在ASP.NET Web表单的上下文中,我有两个页面:一些数据的表单和列表视图。这两个“视图”都需要有一个加载数据的下拉列表,具体取决于用户登录的位置(并非所有用户都能看到下拉列表中的所有数据)。在一种情况下,下拉列表用于选择元素,而另一种情况下,基于该元素过滤列表。

构建此场景最常用的方法是什么?

有一次尝试

我目前拥有的是:

  • IAuthView = interface,它从ASP.NET页面提供会话令牌,并允许演示者设置定义已登录用户的User属性
  • AuthPresenter =获取会话令牌并设置签名用户
  • IFormView : IAuthView =用户输入和提交事件的界面
  • IListView : IAuthView =数据列表的接口
  • FormPresenter =负责为表单加载数据并在用户提交时从表单中读取数据的类。
  • ListPresenter =负责加载数据列表并在应用过滤器时重新加载数据的类
  • IHasDropdownXView =此视图描述了具有下拉列表的视图
  • HasDropdownXPresenter =使用下拉列表填充视图,同时从AuthView实例中获取签名用户
  • FormPage : IFormView, IHasDropdownXView =为其实现的每个视图界面加载所有三个演示者
  • ListPage : IListView, IHasDropdownXView =为其实现的每个视图界面加载所有三个演示者

这一切似乎都非常复杂和复杂无缘无故。此外,我不清楚IHasDropdownXView应如何获取已签名的用户,或者谁应该负责组装最终页面中所需的所有演示者。

0 个答案:

没有答案