ASP.NET Web 窗体 - 模型 View 展示器和用户控件

标签 asp.net webforms mvp

我是使用 MVP 模式的新手,我只想确定从用户控件中调用演示者的最佳方式。

MyPage.aspx 有一个演示者 MyPresenter

该页面包含一个用户控件,该控件通过我从 MyPage 设置的属性接受 MyPage 的 Presenter

MyUserControl.Presenter = this.Presenter

我现在试图在演示者中调用 Method1,它检索一些配置并将其设置在用户控件的 View 上。
Presenter.Method1(); // calls method and sets config to the view

我的问题首先是
  • 我应该以这种方式在用户控件中使用演示者吗?
  • 如果是这样,通过用户控件访问 View 值是否有效,如下所示。

    Presenter.View.MyData

  • 我只是想确保我不会走上完全错误的道路!

    最佳答案

    我过去所做的是为每个用户控件设置一个演示者,该演示者只负责用户控件演示,每个页面 (.aspx) 都有一个演示者。
    我认为将事物分开也有助于维护,因为您将拥有“瘦”的演示者,它只负责 UI 的一小部分。
    用户控件也将是“自包含”的,您可以重用它们,因为表示逻辑与页面表示逻辑保持分离。

    看看下面的帖子:

    MVP and UserControls and invocation

    关于ASP.NET Web 窗体 - 模型 View 展示器和用户控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5538813/

    相关文章:

    asp.net - 集成两个 ASP.NET 站点的最佳方式

    asp.net - 线程消息系统数据库架构设计

    c# - 如何访问在ashx中修改的aspx中的 session ?

    mvp - 在MVP中写验证的位置

    c# - 将值从 java 脚本传递到隐藏字段不起作用

    javascript - 如何在网页执行回发时停止在注册表单上?

    jquery - 禁用提交按钮,直到选择上传文件

    asp.net - 外键查找下拉列表 EF 6

    jquery - 用于客户端服务器应用程序的 Angularjs

    winforms - 将 Form.ShowDialog() 代码重构为 MVP