ASP.NET Web 窗体 - 模型视图演示器和用户控件

2024-03-07

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

我的页面.aspx有主持人我的演讲者

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

MyUserControl.Presenter = this.Presenter

我现在正在尝试打电话Method1在演示者中,它检索一些配置并将其设置在用户控件的视图上。

Presenter.Method1(); // calls method and sets config to the view

我的问题首先是

  1. 我应该以这种方式在用户控件中使用演示者吗?
  2. 如果是这样,通过用户控件访问视图值是否有效,如下所示。

    演示者.视图.MyData

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


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

看看下面的帖子:

MVP 和 UserControls 以及调用 https://stackoverflow.com/questions/429500/mvp-and-usercontrols-and-invocation

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ASP.NET Web 窗体 - 模型视图演示器和用户控件 的相关文章

  • 如何在服务器控件属性中使用 ASP.NET <%= 标记?

    这有效 span value span 这不起作用
  • 使用现有的自定义库从 HttpHandler 访问 Ninject Kernel.Get()

    我有一个 ASP Net Webforms 应用程序 它使用 Ninject 2 2 0 0 我有一个继承自 Microsoft Web ImageHandler 类的 HTTPHandler 在其中我需要访问我创建的服务类的实例 因为我无
  • 如何强制 Web API 识别查询字符串参数

    ASP NET MVC4 Web API v1 控制器定义如下 它应该接受 1 或 2 个查询字符串参数 然而 如果调用方法 ko 参数始终为 null 请求如下 如何修复以便 kclient 或 namepart 参数可以在查询字符串中传
  • ReportViewer“缺少 URL 参数:名称”

    在一个网络应用程序中 我正在处理 ReportViewer 时不断出现错误 缺少 URL 参数 名称 我找到了原因 但没有找到解决方案 导致报告查看器出现异常的 url Reserved ReportViewerWebControl axd
  • 将列添加到 ASP.NET Identity 中的 AspNetUserClaims

    我在用着Microsoft AspNet Identity Core 2 2 1在我的解决方案中 我需要将其与另一个应自动添加声明的系统集成 为了跟踪哪些声明是手动添加的以及哪些是由外部系统创建的 我希望在我的AspNetUserClaim
  • 使用 ASP.NET 发送邮件

    我使用标准的 web config mailSettings 作为我的 ASP NET 电子邮件的骨干 然而 我发现它的能力越来越有限 例如 我想从许多不同的用户帐户 支持 销售 管理等 发送电子邮件 但 mailSettings 似乎不支
  • 随机无效视图状态错误

    我知道关于这个主题有很多问题 我已经阅读了所有这些问题 我正在使用 IIS8 Net 4 5 用户随机收到无效视图状态错误 我无法弄清楚 一旦发生这种情况 他们返回网站的唯一方法就是清除浏览器缓存 在我的 web config 中我有
  • Html 文本输入撤消不起作用

    我遇到一个问题 html 文本框和文本区域的撤消功能 ctrl z 和右键单击 gt 撤消 被禁用 这种情况发生在 ASP NET 生成的页面上 其中包含大量 Silverlight JavaScript JQuery 和 Ajax 大约
  • asp.net vb 用户控件在调用页面上引发事件

    我正在尝试了解用户控件 我创建了一个具有文本框和按钮的用户控件 我想要做的是 当我单击用户控件中的按钮时 在 aspx 页面中填充标签 我知道我可以在页面上有一个按钮 使用用户控件上的一些属性来获取该信息 但我想知道如何使用用户控件的按钮来
  • 在Application_AquireRequestState事件中用POST数据重写Url

    我有一个在其中注册路线的代码Application AcquireRequestState应用程序的事件 注册路由后 我会在 Http 运行时缓存中设置一个标志 这样我就不会再次执行路由注册代码 在此事件中注册路线有特定原因Applicat
  • 用户控件内所有控件均为空

    我有一个 UserControl 它使用 UserControl 以及其他控件 In the ascx文件我有以下代码
  • 无法从 Web api POST 读取正文数据

    我正在尝试从新的 Asp Net Web Api 中的请求中提取一些数据 我有一个像这样的处理程序设置 public class MyTestHandler DelegatingHandler protected override Syst
  • 在 IIS 托管的 ASP.NET Web 应用程序中打开页面时显示“找不到资源”

    我正在使用 IIS 8 5 将 Web 应用程序 Net 4 5 托管到远程服务器 该应用程序在本地和远程 IIS 上运行良好 但是有一个页面 Reports ReportsMain aspx 导致错误 找不到资源 我确保该页面存在 我还确
  • 为什么使用 HTTP 动词?

    因为动词的目标是像 server domain getallrecords 或 server domain delete1record 或类似的 URL 而getallrecords delete1record都是专门为特定目的而设计的 为
  • 为什么 GridView Rowupdating 事件不捕获文本框的新值?

    我正在使用网格视图 当我单击编辑按钮时 会出现更新和取消按钮 修改来自 EditItemTemplate 的文本框中的值后 新值不会显示在事件处理程序 rowupdating 中 而是获取渲染页面时出现的值 如何从这些文本框中获取新值并进一
  • HTML Agility 包删除了中断标记 close

    我正在使用 HTML 敏捷包创建 HTML 文档 我加载一个模板文件 然后将内容附加到其中 所有这些都有效 但是当我查看输出文件时 它已从我的文件中删除了结束标记 br 标签看起来像这样 br 是什么原因造成的 Dim doc As New
  • EntityFramework.dll 中发生“System.InvalidOperationException”类型的异常,但未在用户代码中处理

    我正在尝试为部门名称制作下拉列表 我正在使用MVC5 我看到了太多关于堆栈溢出的解决方案 但我从未找到与 MVC5 相关的有价值的解决方案 Database Name AppraisalDBContext Table Name Depart
  • 如何在 NUnit 测试中使用 Selenium 获取 javascript 日志?

    我正在尝试使用 Selenium ChromeDriver 从 Visual Studio 上的 NUnit 测试中检索 Javascript 控制台日志 但我在日志上得到空值 我已经尝试了下面的代码 但它会在 driver Manage
  • 如何缓存 ASP.NET 网站以获得更好的性能

    我是一名网页设计师 通常设计不需要更新的企业网站 所以我想将输出缓存一天 我怎样才能做到这一点 此外 任何有关在慢速服务器上提高 ASP NET 性能的建议都被接受 请注意 ASP NET 缓存有一个bug http connect mic
  • 集成 Windows 身份验证可以在 Firefox 中使用吗?

    如果我的 ASP NET 应用程序是使用 Windows 集成身份验证为 ADFS 设置的 我知道这可以在 IE 中工作 但是它可以在 Firefox 中工作吗 我在网络上看到一些内容表明存在问题 您需要在每个客户端浏览器中设置解决方法 h

随机推荐

  • 堆管理

    我知道有一个元数据存储在期间使用的辅助信息free realloc 当我们只提供指针时 我对堆几乎没有疑问 堆栈是按进程分配的 毫无疑问 但对堆不确定 无论堆信息是全局维护的 还是每个进程都会有某种机制来保存有关为该特定进程分配的内存的信息
  • Nose 未运行 Django 文档测试

    如同这个问题 https stackoverflow com questions 2614363 why isnt django nose running the doctests in my models 然而 就我而言 我的模型都没有d
  • Facebook 个人资料 ID 和 uid 之间有区别吗?

    我有一个应用程序 我通过以下代码片段获取应用程序用户的 Facebook uid FB login function response if response authResponse FB getLoginStatus function
  • 如何使用 Dagger2 在 ViewModel 中注入依赖项

    我正在尝试在现有项目中实现新的架构 MVVM RxJava2 Dagger2 Retrofit 我已经建立了整个上述架构并在 HomeActivity 上进行了测试 HomeViewModel 中注入的依赖项 所以现在我试图在Fragmen
  • 在 php 中统计 mongodb

    我有一个集合用户 它有2个参数 用户名 付费 用户名是一个字符串 付费也是一个字符串 我应该计算有多少个带有参数paid true 的用户 这是我的尝试 如果有 mongo 专家可以帮忙 谢谢 新驱动没有实现 cursor gt count
  • 仅使用 CSS 突出显示表行中的所有行跨度

    有没有办法让 CSS 突出显示整行 包括行跨度内的单元格 而不仅仅是第一行 正如你从示例中看到的 只有该行的第一行被突出显示 而其他单元格没有突出显示 这显然看起来很混乱 我宁愿只使用 CSS 来清除它 但如果有的话会使用 Javascri
  • 将正则表达式与 NSPredicate 结合使用

    Aim Using NSPredicate我想使用正则表达式来匹配所有以 Test 开头的字符串 我特别想用Regex and NSPredicate 问题 我犯了什么错误 使用正则表达式来实现我想要做的事情的正确方法是什么 代码 我的尝试
  • 从 Git 存储库克隆后的 Laravel Sail

    我目前有自己的 Laravel 应用程序在 Docker 上运行 在 Windows 11 上使用 Laravel sail 在 WSL2 上使用 Ubuntu 这工作正常并且符合预期 我已将我的工作推送到 Git 存储库 但如何将其拉到新
  • 添加页面时,refinerycms 不工作

    尝试使用 RefineryCMS 从仪表板添加新页面时出现此错误 SQLite3 ConstraintException refinery page translations refinery page id 不得为 NULL INSERT
  • FtpWebRequest ListDirectory 不返回所有文件

    我正在尝试从包含大约 9000 个文件的 FTP 位置检索文件列表 但下面的代码总是只给出 97 个文件 在第 98 个文件的循环开始时 StreamReader Peek 变为 1 输出 test txt 始终仅包含前 97 个文件 就像
  • 创建没有版本号的 Grails 3 WAR

    在 Grails 2 中 我们可以像这样定义 WAR 文件名 grails project war file target appName war 如何覆盖 Grails 3 中的 war 文件名 谢谢杰夫 我在 build gradle
  • 动态生成的 IL 中的值类型转换

    Update一年多后 我终于意识到了这种行为的原因 本质上 一个对象不能被拆箱为与它不同的类型 被装箱为 即使该类型强制转换或转换为目标 类型 如果你不知道正确的类型 你必须发现它 不知何故 作业可能完全有效 但不可行 让这一切自动发生 例
  • NUXT:使用 Markdown-it 显示相对于 Markdown 内容的图像

    这是 Nuxt 的纯静态实现 我正在使用从 yaml 内容文件 不是 markdown 读取的 markdown 内容 由于内容位于 json 对象中 因此它们正在使用 md render blog content 假设 blog cont
  • 改变正方形相交区域的颜色

    这些天我正在做一个项目 我的目标是改变两个正方形相交区域的颜色 我已经编写了检测两个正方形相交的代码 但我不知道如何更改相交区域的颜色 请帮我解决这个问题 var sketch function p with p let squares l
  • vue-cli-service 服务的依赖问题

    当我尝试构建 VueJS typescript 应用程序时 出现以下依赖项错误 vue cli service 服务 信息正在启动开发服务器 正在启动类型检查和 linting 服务 使用 1 个工作线程 内存限制为 2048MB 发出 C
  • 使 Jackson 在 JSON 中的重复属性上失败

    I use Jackson将 JSON 反序列化为不可变的自定义 Java 对象 这是课程 final class DataPoint private final int count private final int lower priv
  • 如果值是 `let` 常量,为什么我只能直接使用元组名称附加元组数组 - Swift

    这是我正在谈论的一个例子 typealias SomeTuple string String int Int var tupleArray SomeTuple Fails tupleArray append string Hello int
  • 使用 AWS Boto3 从 EC2 实例调用 API 网关

    我正在尝试从具有 IAM 角色的 EC2 实例之一调用 AWS API Gateway 端点 我在 EC2 实例上安装了 boto3 库 并尝试使用下面的代码执行简单的网关 API 但仍然出现身份验证丢失错误 import boto3 im
  • 合并两个数组并按日期对这个新数组进行排序

    我有两个数组 第一 Array 0 gt Array date gt 2012 01 10 result gt 65 name gt Les oc ans 1 gt Array date gt 2012 01 11 result gt 75
  • ASP.NET Web 窗体 - 模型视图演示器和用户控件

    我是使用 MVP 模式的新手 我只是想确保从用户控件中调用演示者的最佳方式 我的页面 aspx有主持人我的演讲者 该页面包含一个用户控件 该控件通过我从 MyPage 设置的属性接受 MyPage 的 Presenter MyUserCon