假设我想要在其他页面中使用用户控件。在使用C#在ASP.Net中进行用户控制之前需要考虑哪些要点?
答案 0 :(得分:8)
用户控件是ASP.NET方法之一,用于提高代码的可重用性,实现封装并减少维护。用户控件类似于网页。网页和用户控件都包含HTML元素和Web控件标记。某些标记(例如<html>
,<head>
或<form>
)无法在网络用户控件中使用。
以下是2个链接,您将获得imp点数和源代码。我希望它能为您提供帮助。
答案 1 :(得分:0)
根据我的理解,在规划用户控件之前,我们需要考虑:
1)即使在未来的发展中,如果没有立即,它在多个地方是否有用。
2)如果用户控件在同一页面上使用两次或更多次(例如,用户控制地址),那么将有可能重复控制ID。您需要为此计划,如何处理该场景(例如,为用户控件内的所有控件添加前缀或根据div id等读取控件)。
3)对于单个文本框,由于用户控制所需的基础结构,对用户控制(直到确实需要)的类型要求不会过于激进。
我希望这些观点对您有所帮助。
答案 2 :(得分:0)
不确定是否要求创建用户控件的原因或创建用户控件的原则。我稍后会假设,在这种情况下,指南通常与任何组件开发的指南相同。
用户控制是可重复使用的一段代码 - 因此您应该根据预期用途仔细设计其接口(合同)。例如,消费者如何将数据传递给控件(属性设置器或调用某些方法)。控制应通常使用事件等通知消费者。
将用户控制视为黑盒子,即不应将其组成控件和字段暴露给消费者。它更好地具有访问这种内部状态的属性或方法。同样属性不应该按原样公开内部控件 - 例如,如果用户控件正在捕获地址,那么公开将获取/设置Address对象的属性而不是为单个地址字段控件提供ref是有意义的。
尝试为用户控件中的控件提供短名称。用户控件本身是一个命名容器,因此名称在页面上应该是唯一的。有时给出日志描述性名称会导致创建长ID,从而增加标记大小。例如,如果地址用户控件具有名为StreetNumber的文本框,并且Page创建用户控件的实例并将其命名为CustomerAddress,则实际字段将获得名称/ ID,例如CustomerAddress_StreetNumber。我并不是说应该在用户控件中使用神秘的名称,但在创建和使用用户控件时要注意这一点。