在表示层使用多态的简洁方法 - ASP.NET

时间:2009-02-25 21:15:21

标签: c# asp.net

很多时候,我发现自己在后面的代码中进行了UI控制操作,并希望找到一种干净的方法来实现这一点。

用例: 下拉列表具有CSS1样式,可在编辑模式下编辑             具有CSS2样式,仅在查看模式下查看

我可以通过简单地使用一组switch case语句来实现这一点。我可以使用多态并创建一个EditMode和ViewMode类,但这需要我引用要传递给这些类的UI控件。这紧密地结合了我想要避免的UI和逻辑层。

有什么想法吗?

修改: 任何人都可以举例说明从后面的代码外部化UI逻辑吗?

2 个答案:

答案 0 :(得分:0)

传递一个控件不一定紧密耦合,但我可以理解这个推理并且会同意它,作为一般规则。

一种选择是将类创建为UI类。这并不意味着它必须嵌入ASP.NET Web应用程序中,而是将库设置为Web UI库。我这样做是通过命名:

company.application.UI。{库名称}

您的命名可能不同。

在架构中,拥有具有多态辅助类的UI库没有任何问题。我不会将这些类移到业务层。

答案 1 :(得分:0)

看看Dynamic Data Web Application。在那里,您可以找到一种方法将视图控件与编辑控件完全分开。