用法概念 - 用户控件,界面

时间:2013-09-13 12:08:48

标签: c# asp.net .net conceptual

这是关于两件事的一个问题:我何时使用[a]用户控件,[b]接口?或者,考虑到所有可能性,所述项目的最佳用途是什么。

我为什么这么问?

UserControl:我试图创建一个包含一个ASPX页面和多个ASCX页面的网站 - 这是一个主要的+交易要求 - 但在与ASCX页面挣扎之后,我现在必须在ASPX中重做它,因为ASCX页面越来越多非常复杂 - 多个输入,数据元素等。人。 (分散在11个ascx页面上的大约500个数据元素)。所以问题是 - 什么是使用ASCX页面的最佳位置?

界面:上面的相同场景 - 控制页面上的数据(保存,丢弃,更新等等)我在ASPX页面上使用过控件;非常失败,所以我尝试了界面,我也没有真正取得进展,所以我回到了在所有ASPX页面上使用重复控件的基本方法......不用说这很乏味。

从概念上讲,我想知道我做错了什么!

1 个答案:

答案 0 :(得分:0)

您似乎在界面和用户控件之间略微混淆,它们彼此完全不同。有许多文章详细描述了它们中的每一个。但我会告诉你我是如何使用它们的

用户控件:我主要使用用户控件进行用户界面封装。例如,如果我有一些文本框,标签,几个下拉列表和面板,我将不得不编写代码来处理它们,例如我有一个下拉列表,根据其值,我必须启用或禁用某些功能。我还必须进行一些验证。我可以在网页上做到这一点,但我将它们封装在用户控件中更好。

a)我的代码不会混乱我的网页代码, b)将其封装在对照中 c)控件的功能将共同操纵控件及其代码。

我的网页中的代码非常干净,更易于阅读,整体代码更易于维护。使用用户控件,可以在许多页面中使用相同的功能,而无需再次编写代码,甚至可以复制和粘贴代码。

接口:1我在特殊情况下使用接口。例如,有一个要求控件必须与它所包含的页面进行交互。通常程序员将页面类型化为实际类并使用它。我所做的是创建2个接口。一个是页面实现的,另一个是控件实现的。通过这些接口,它们将相互交互,并且依赖性不是硬编码的。这意味着任何实现页面所需接口的控件都会实现它,页面可以开始与控件交互。 从技术上讲,C ++实现了多重继承,许多现代语言不允许多重继承,因此解决了这些接口的问题,因为类可以实现任意数量的接口,从而产生多重继承的假象。