去年,我们将所有新功能移至 ASP.NET MVC。
然而,我们仍然有大量带有大量 JavaScript 代码的旧版 WebForms 页面,而且我们不会很快有机会升级它们。
最近,我们还迁移到了 ASP.NET 4,这似乎破坏了这些遗留页面上的 JavaScript 代码负载。
客户 ID 之前的位置是:
ctl001_masterControlName_panelControlName_controlWeWant
现在他们变成了:
ctl001_masterControlName_panelControlName_controlWeWant_0
这个_0
后缀是从哪里来的?中只有一个controlWeWant
,panelControlName
所以后缀没有任何价值。
我知道硬编码的客户端 ID 对 WebForms 来说是个坏主意。我们迁移到 ASP.NET MVC 的原因之一是 WebForms 生成的糟糕的 HTML。然而,对于这个遗留代码,我们坚持使用它,我宁愿不去改变它(直到有一天我们有空闲时间来正确地做它)。
为什么 ASP.NET 4_0
完全添加后缀?
我可以关掉它吗?
有没有其他方法可以避免?