Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
';名称';在ASP.NET中计算的属性?_Asp.net - Fatal编程技术网

';名称';在ASP.NET中计算的属性?

';名称';在ASP.NET中计算的属性?,asp.net,Asp.net,我试图了解“name”属性如何用于通过ASP.NET呈现的标记中的元素 即 什么是ctl00,c和ctl1341 如果我创建一个WebControl,给它一个任意id,然后在它的控件集合中放置一个按钮,那么名称属性似乎不反映容器的id 正如您所发现的,关键是并非所有控件都会触发这种行为。关键是接口。正如您所看到的,只有命名容器会对控件的名称起作用,其他控件则不会 上面链接的MSDN页面很好地说明了这一点:该接口“标识了一个容器控件,该控件在页面对象的控件层次结构中创建了一个新的ID命名空间。”您

我试图了解“name”属性如何用于通过ASP.NET呈现的标记中的元素

什么是
ctl00
c
ctl1341


如果我创建一个
WebControl
,给它一个任意id,然后在它的
控件
集合中放置一个
按钮
,那么
名称
属性似乎不反映容器的id

正如您所发现的,关键是并非所有控件都会触发这种行为。关键是接口。正如您所看到的,只有命名容器会对控件的名称起作用,其他控件则不会


上面链接的MSDN页面很好地说明了这一点:该接口“标识了一个容器控件,该控件在页面对象的控件层次结构中创建了一个新的ID命名空间。”

您发现的关键问题是,并非所有控件都会触发这种行为。关键是接口。正如您所看到的,只有命名容器会对控件的名称起作用,其他控件则不会


上面链接的MSDN页面很好地说明了这一点:该接口“标识一个容器控件,该控件在页面对象的控件层次结构中创建一个新的ID命名空间。”

您可以使用新的ClientMode控制客户端ID的显示方式:


您可以使用新的ClientIDMode控制客户端ID的显示方式:


生成的名称属性通常以
ctl00
开头,其余属性根据控件在控件层次结构中的位置生成。任何实现InAdminContainer接口的父控件都将有助于为任何子控件生成名称。

生成的名称属性通常以
ctl00
开头,其余的根据控件在控件层次结构中的位置生成。实现InAdminContainer接口的任何父控件都将有助于为任何子控件生成名称。

这可能是您感兴趣的,它概述了生成的id/名称:

这可能是您感兴趣的,它概述了生成的id/名称: