有人可以告诉我是否应该在我的项目中尽可能使用用户控件?如果不是为什么,为什么不呢?asp.net中usercontrol的优缺点
回答
这是一个有趣的问题;但是可以这样想。
你刚刚写了一张表,列出了你所有的用户。您可以在网站的“列表用户”页面上显示。
在“查找用户”页面上,您可能希望能够显示用户列表。你是否像以前一样重写相同的HTML,代码,JavaScript,CSS?或者你是否重用了控件,这次添加了用户名或其他属性进行过滤的功能?
本质上,用户控件可以打包网站的可重用位。您可以将其打包在用户控件中,而不是将其添加到任何地方,只需添加适当的标签即可将其添加到您想要的任何页面。
此外,你刚刚在你的项目中做了一个控制,负责处理某些功能 - 它的所有逻辑都在一个地方,并与其他代码分开。这也是一个重要的概念,因为它可以阻止所有的代码混杂在一起。在用户示例中,您可以通过界面与用户列表进行交互,而不是将其与其他可能做不同事情的代码混合。这被称为SRP,可以是一件好事。
作为一个实际的例子,我们有一个显示我们产品列表的控件。我们可以在查找屏幕,管理员屏幕,“像这样的产品”屏幕以及“您选择的产品”屏幕上重复使用相同的控件。这段代码包含许多逻辑,它们都集中在一个地方,因此可以很容易地维护它,并且它也可以很简单地重用。
用户控件可以是一件非常好的事情。所以你应该使用它们,当你觉得你可以打包一组现有的控件,HTML等。它使它们可重用,并且更容易维护。
还有自定义控件的概念 - 这些通常是现有控件的重新实现 - 例如,您可能有一个ExtendedTextBox,用于验证文本是否有人输入它。
我会尽可能使用VS IDE工具箱提供的控件。如果环境提供的东西没有完成我想做的事情,我只会推出我自己的控制。
用户控件是很好的为子程序/功能/方法擅长同样的原因:代码(和标记)再利用。
就像子程序一样,如果控件做了诸如修改全局状态,做大量数据库或其他不常用的离线调用,引入不可避免的同步阻塞等,控件可能会成为问题。它们也可以添加如果它们从未被重复使用,那么它就是不必要的复杂层。
- 1. WPF:使用WPF UserControl的优点/缺点是什么?
- 2. StyleCop,优点/缺点
- 3. BPMN的优缺点?
- 4. XCODE4的优缺点?
- 5. MongoDB的优缺点?
- 6. Three20的优点和缺点
- 7. SOAP Pooling的优点/缺点
- 8. N2CMS的优点和缺点
- 9. smartGWT的缺点和优点
- 10. Axis2优于WCF的优点和缺点
- 11. asp.net中的usercontrol
- 12. SSIS包:优点 - 缺点
- 13. 优点/缺点MemoryStream.Position或MemoryStream.Seek
- 14. AUTONOMOUS_TRANSACTION:优点和缺点
- 15. gwt + grail ..优点和缺点
- 16. MDI优点和缺点
- 17. QLPreviewController与UIWebView - 优点/缺点
- 18. WCF - 优点和缺点
- 19. 优点和缺点mapquest android
- 20. 使用≠like!=优点/缺点
- 21. Memcached - 优点和缺点
- 22. 在asp.net应用程序中使用缓存的优缺点?
- 23. 在ASP.NET MVC应用程序中MS Ajax与jQuery的优缺点?
- 24. 使用MessageFormat的优缺点
- 25. CSS格式的优缺点
- 26. NSDocument架构的优缺点
- 27. Java Portlets的优缺点?
- 28. UILabel drawTextInRect的优缺点?
- 29. .htc文件的优缺点
- 30. 使用log4j的优缺点
我喜欢的另一个例子是当我将标签,文本框,验证器和周围的html分组到一个用户控件中,然后在编辑屏幕中使用它:'Required =“true”ValidationExpression =“...”/>。将此行与原始的以及将要设置的所有属性进行比较。巨大的收益! –
2011-12-16 22:26:04