Asp.net mvc mvc中要禁用或不禁用的按钮逻辑
以下是我正在阅读的一本关于MVC应用程序设计的书的摘录: 理想情况下,视图是如此简单和 逻辑自由,几乎不需要 测试。以前的用户(和开发人员) 用户)可以通过 只需查看屏幕上的像素即可 屏幕。除了纯咖啡还有别的吗 理想情况下,图形渲染应该是 从视图中取出并放置在 控制器和模型。这 包括,例如 确定是否使用某个按钮 此时应启用或灰显 一些要点。 这个大胆的声明对你意味着什么?这是什么样子的 谢谢,Asp.net mvc mvc中要禁用或不禁用的按钮逻辑,asp.net-mvc,design-patterns,Asp.net Mvc,Design Patterns,以下是我正在阅读的一本关于MVC应用程序设计的书的摘录: 理想情况下,视图是如此简单和 逻辑自由,几乎不需要 测试。以前的用户(和开发人员) 用户)可以通过 只需查看屏幕上的像素即可 屏幕。除了纯咖啡还有别的吗 理想情况下,图形渲染应该是 从视图中取出并放置在 控制器和模型。这 包括,例如 确定是否使用某个按钮 此时应启用或灰显 一些要点。 这个大胆的声明对你意味着什么?这是什么样子的 谢谢, 罗德。这就是那句粗体的话对我的意义: 控制器将充满嵌套的if语句 模型(或viewmodel)将充满
罗德。这就是那句粗体的话对我的意义:
- 控制器将充满嵌套的if语句
- 模型(或viewmodel)将充满属性,以帮助以特定的方式呈现页面,这使得对象图难以维护
至于测试,我还没有找到一个应用程序“…实际上不需要测试…”决定何时启用或禁用按钮的逻辑应该驻留在控制器中,并且只调用一个方法,例如view.EnableContinueButton()来启用/禁用页面上的按钮 启用/禁用页面上按钮本身的实际代码应该在视图中实现,例如EnableContinueButton()方法,该方法调用类似btnContinue.enable()的内容 简单地说,视图应该关注UI细节(显示/隐藏/启用/禁用UI元素),并将所有业务逻辑处理留给控制器。这样,控制器不需要关心UI元素,视图独立于实际业务逻辑工作 e、 在控制器中
public void ProcessOrder()
{
if (!controller.ValidateOrder(model.OrderNo))
view.EnableContinueButton(false);
else
// Process the order
...
}
在我看来
public void EnableContinueButton(bool enabled)
{
btnContinueButton.Enabled = enabled;
}
坦率地说,我对MVC(不久前在一个项目中实现)没有太多经验,但我希望控制器和视图之间的逻辑分离足够清晰。请您再详细说明一下不同的代码片段……很抱歉我没有马上得到它。棒。不过我还是明白了“为什么”,谢谢。我添加了一个代码示例,不完全是ASP.NET特有的,但我希望它仍然有用。这看起来像是MVP而不是MVC?!?