7

我继承了一个应用程序,其中包含大量带有硬编码客户端 ID 的 javascript。

过去我做负载测试时,我似乎记得有时生成的客户端 ID 会以 ctl01 开头。

在什么情况下会出现这种情况?

4

2 回答 2

9

首先,'ctlxx' 是控件母版页的前缀。

在此处输入图像描述

ASP.NET 引擎在运行时为那些没有明确设置 ID 的控件设置 ID 值。它使用命名模式 ctlXX,其中 XX 是一个顺序递增的整数值。因此,在嵌套母版页的情况下,您将获得前缀作为ctlxx递增xx值的位置。

控件的Id值以母版页的 ID 值作为前缀ctl00。最终效果是一个 id 属性值,由ID values of the master page、ContentPlaceHolder 控件和控件本身组成。

结论 -

因此,更改前缀的唯一情况ctlxx是 .aspx 页面具有嵌套母版页。

有关详细信息,请参阅内容页面中的控件 ID 命名 (C#)

于 2012-10-24T06:32:33.983 回答
1

我认为这是为每个嵌套母版页创建的 id,您可能希望通过嵌套来测试理论,然后查看 Id 的外观,因为我现在没有可用的工具来提供证明:/

于 2012-10-19T12:40:36.763 回答