我正在比较每个名称空间的两个基类,我有点困惑。
System.Web.UI.WebControls.WebControl
System.Web.UI.HtmlControls.HtmlControl我看到了两者之间的细微差别。例如,HtmlControl的属性要少得多,而WebControl有很多像CssClass属性这样的属性。除了额外的属性之外,WebControl基类在处理渲染方面似乎更加健壮。
为什么需要两个名称空间和两组几乎相同的控件?
发布于 2008-12-29 18:33:12
System.Web.UI.HtmlControls中的控件只是实际HTML控件的一个薄薄的包装器。System.Web.UI.WebControls.WebControl是标准的ASP.NET控件。
在此基础上进行一点扩展:
HTML命名空间包含允许您在
窗体页上创建System.Web.UI.HtmlControls服务器控件的类。HTML服务器控件在服务器上运行,并直接映射到大多数浏览器支持的标准HTML标记。这使您能够以编程方式控制网页窗体页上的HTML元素。
发布于 2008-12-29 18:34:30
RadioButtonList是一种ASP.NET WebControl。但是在HTML中不存在这样的控件-在HTML中,您会有一组类型为"radio“的输入控件,它们共享相同的name属性值。
因此,WebControls是呈现为ASP.NET控件ASP.NET控件。HtmlControl是页面上HTML控件的实际表示形式。
发布于 2008-12-29 18:36:57
来自w3schools
与HTML服务器控件一样,Web服务器控件也是在服务器上创建的,它们需要一个runat=“
”属性才能工作。但是,Web服务器控件不一定映射到任何现有的HTML元素,并且它们可能表示更复杂的元素。
Web控件通常更强大一些,但也需要更多的资源来动态生成相应的HTML。
https://stackoverflow.com/questions/398271
复制相似问题