1

去年,我们将所有新功能移至 ASP.NET MVC。

然而,我们仍然有大量带有大量 JavaScript 代码的旧版 WebForms 页面,而且我们不会很快有机会升级它们。

最近,我们还迁移到了 ASP.NET 4,这似乎破坏了这些遗留页面上的 JavaScript 代码负载。

客户 ID 之前的位置是:

ctl001_masterControlName_panelControlName_controlWeWant

现在他们变成了:

ctl001_masterControlName_panelControlName_controlWeWant_0

这个_0后缀是从哪里来的?中只有一个controlWeWantpanelControlName所以后缀没有任何价值。

我知道硬编码的客户端 ID 对 WebForms 来说是个坏主意。我们迁移到 ASP.NET MVC 的原因之一是 WebForms 生成的糟糕的 HTML。然而,对于这个遗留代码,我们坚持使用它,我宁愿不去改变它(直到有一天我们有空闲时间来正确地做它)。

为什么 ASP.NET 4_0完全添加后缀?

我可以关掉它吗?

有没有其他方法可以避免?

4

1 回答 1

1

查看ASP.NET 4.0 中的新增功能 - 生成更清晰标记的 ClientID。它解释了 ASP.NET 4.0 中关于 id 生成的一些新功能。

于 2010-10-26T11:42:11.733 回答