问题标签 [webformsmvp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net - asp.net 中的 MVP,在哪里编程用现有数据中的数据填充 UI?
我在一个新客户那里,他们实现了 mvp 模式。
现在我想使用它,但我在他们的代码中找不到的是:我在查询字符串中打开一个带有 id 的 asp 表单。我得到了具有该 id 的数据对象,现在我有了一个我想在 asp.net 表单的文本框中显示的对象。
我有这个:
我创建了一个演示者
演示者有一个构造函数,它采用 IxxxView
aspx 页面实现了 IxxxView
在 aspx 中,我引用了演示者
在加载 aspx 时,我用 (this) 实例化演示者
我将对象的 id 传递给演示者,演示者获取数据...
(到目前为止,一切都很好?)
然后,我在演示者中有一个对象,在视图中有一个文本框。
我应该知道什么?
linq-to-sql - WebFormsMVP 中使用 Linq to SQL 的存储库模式
是否有任何好的示例/示例可以在WebFormsMVP中使用 Linq to SQL 实现存储库模式。
asp.net - 如何从 MasterPage 上的按钮单击处理用户控件中的回发
我在带有 MasterPage 的网络表单中有用户控件。MasterPage 有一个注销按钮:
当我单击注销按钮时,用户控件在调用上面的事件处理程序之前重新加载,从而对数据库进行了不必要的访问。
我应该如何处理回发?有没有办法在用户控件中忽略它?
提前致谢。
更新:我应该在前面提到。我正在使用一个实现框架“WebFormsMvp”。带有 MasterPage 的 web 表单有几个用户控件,这些用户控件是在运行时绑定到各自的演示者的视图。我没有在任何用户控件中处理 Page_Load,因为在 Page_Load 事件之前框架将数据绑定到每个用户控件。
我会相应地更新这个问题的标签。
bdd - 带有 SubSpec 和 XUnit NullReferenceException 的 BDD
TDD 相当新;想先试试BDD。我正在使用 MVP UI 演示模式框架,并且正在尝试使用 SubSpec 和 XUnit 编写我的第一个测试,但是当我调用存储库时,我从演示者那里得到了 NullReferenceException。
我确信答案是显而易见的,但它让我明白了。此外,我的测试似乎更关注演示模式的细节——我相信它可以工作并且可能不需要像下面那样进行测试(即引发 view.load 事件)但我想不出另一种方式。欢迎任何关于更好测试的建议。
我的单元测试:
我的主持人:
webformsmvp - 共享演示者不在同一个页面上工作,默认演示者的其他控件在哪里
我在母版页上有四个绑定到共享演示者的用户控件。现在我想用默认演示者添加圆顶其他用户控件,但我有一个例外。这个问题可以在库的下载包中提供的默认示例应用程序中看到。当我将 HelloWorld 用户控件添加到 SharedPresenter.aspx 页面时,我得到:
asp.net - 如何通过模型中的集合迭代到无序列表?
我正在使用 UI 模式框架。该框架允许我在客户端以模型的形式访问数据(类似于 MVC)<%# Model.Widget %>
。我正在使用 Eval 语句绑定到 FormView 控件。试图弄清楚如何通过模型中的集合迭代到无序列表。
如果小部件的属性之一是字符串数组,我如何遍历小部件项的属性?这是我到目前为止所得到的:
显然,这是错误的。我得到一个 InvalidOperationException 因为我正在使用 Eval 将数据绑定到变量而不是控件的 ItemTemplate 中的项目。
提前致谢!
c# - 使用监督控制器模式时,我应该如何使用 Moq'd 视图对我的 WebFormMVP 演示者进行单元测试
我正在尝试测试使用 ASP.NET WebFormsMVP 创建的演示者。我正在使用“监督控制器”模式构建它,因此视图负责从模型中更新自身。我简化了以下带有文本框、按钮和标签的页面示例。您在文本框中输入并按下按钮,文本HelloWorld! <YOUR TEXT>
就会放在标签上。
下面的示例代码,但简而言之:
- button_click 将引发查看事件。
- Presenter 订阅此 ViewEvent 并捕获 args(即消息)
- Presenter 完成工作(字符串连接)并更新模型
- 视图重新绑定到 Model.Message 属性,一切正常。
我的问题在于测试。
由于 View 负责从模型中更新自身,Presenter 只设置 Model.Message 属性......所以在单元测试中,我想做以下事情。
- 嘲笑我的
IHelloWorldView
- 用 Mock 实例化我的 Present。
- 在 Mock 上触发事件
- 验证当前设置了 Mock 的 Model.Message 属性。
Message
但是除非我明确地将我的模型的属性标记为我不想做的虚拟,否则这将不起作用。例如
我的其他选择是使用被动视图模式并将 asp:label Text 公开为 IHelloWorldView 上的字符串属性,并直接从 Presenter 设置它...然后我应该能够对其进行测试。
- 从测试的角度来看,被动视图是更好的方法吗?
- 我是否有必要同时模拟我的模型(我不确定在 WebFormsMVP 中是否可行?或者
- 我需要将我的模型的所有属性都设为虚拟或
- 我在某处错过了重点吗?
asp.net-mvc-3 - Web 和移动设备的 MVP 与 MVC 设计模式?
对于即将到来的项目,我正在考虑将 MVP 作为 MVC 的一个选项。我非常熟悉并喜欢 MVC,我只是想看看我是否会使用 MVP 获得任何东西。
我收集到的关于 MVP 的信息是它使用了使用 ViewState 的 ASP.Net 视图引擎/MVC#(我不是特别喜欢)——向渲染的网页添加一堆额外的内容,而不是内置的路由功能(可以单独写入Global.asax)。
另一方面,MVC/Razor 呈现非常干净的 HTML。
某些文章,例如这篇文章,似乎倾向于将 MVP 用于多个视图,但是鉴于带有 jQuery Mobile 的 MVC3,可以使用此 MVC 完成一些奇妙的事情。
这些与当前可用的 MVP 相比如何?在 MVC 上使用 MVP 有哪些优点/缺点或潜在的陷阱?
我也在考虑使用现有的 MVP 应用程序来加快开发时间。
我知道您会在以下情况下畏缩,但要寻找选项: 虽然此应用程序提供了所有必需的功能,但如果实施此解决方案,与其他 MVC 应用程序绑定有多困难(我知道这看起来很难看)?如果这是我们必须考虑的事情(将两者结合起来),最好将应用程序包装在 MVC(路由)中并将 MVP 应用程序包含在其中吗?
其原因是交错的功能更新过程,其中要求实现一个新功能(使用 MVC 框架构建;系统的其余部分不是)。未来的计划是将当前框架完全更改为 MVC 或 MVP。
谢谢。
c# - WebformsMVP 实现一个 Ninject IPresenterFactory
我正在构建一个概念验证 webformsmvp 站点。我想在创建演示者时使用 Ninject (v3.0) 来解决我的服务(和任何其他)依赖项。这是我的 Presenter 构造函数的示例:
因此,我想让 Ninject 使用自定义 IPresenterFactory 解析 IParticipantService 实现。
作为参考,这里是IPresenterFactory接口上需要实现的方法的签名:
我有个问题; 如果我实现并注册我的 IPresenterFactory 实现,我是否负责解析 Presenter 构造函数中的 View 参数?webformsmvp 框架是否没有为我处理这个问题,或者现在我选择提供自定义工厂实现,我现在是否承担解决视图的责任?
PS 我注意到webformsmvp contrib 项目中有一个实现,但这是针对 Ninject v2 的。我一直在考虑为 Ninject3 重写代码。但这并不能帮助我回答这个问题。
asp.net - 用于数据读取应用程序和报告生成的 ASP.Net 框架
我一直在寻找开发 ASP.Net Web 应用程序的最佳框架。
它将使用数据库 MS SQL Server 2000 (它必须处理其他应用程序)
Web 服务器配备了 .Net 4.0 框架
该应用程序主要是读取数据并显示给用户。很少写入数据库。它还应该有一个生成报告的选项。
我应该选择哪种架构解决方案来开发这样的应用程序?
什么是最好的方法?