C# IIS-8经典模式下QueryString上的控件名称不同

C# IIS-8经典模式下QueryString上的控件名称不同,c#,asp.net,iis-6,iis-8,asp.net-controls,C#,Asp.net,Iis 6,Iis 8,Asp.net Controls,我们已将一个应用程序从带有IIS-6的Windows Server 2003移动到带有IIS-8的新Windows 2012服务器,并为“Classic”设置应用程序池。我的问题是,现有代码使用querystring从控制器方法中的查询字符串中提取一个值 string tmpID= Request[string.Format("DisabilityRepeater:_ctl{0}:ddDisability", num)]; 我访问了新旧站点,控件的格式发生了变化。这在不同平台之间是一致的,不受

我们已将一个应用程序从带有IIS-6的Windows Server 2003移动到带有IIS-8的新Windows 2012服务器,并为“Classic”设置应用程序池。我的问题是,现有代码使用querystring从控制器方法中的查询字符串中提取一个值

string tmpID= Request[string.Format("DisabilityRepeater:_ctl{0}:ddDisability", num)];
我访问了新旧站点,控件的格式发生了变化。这在不同平台之间是一致的,不受浏览器的影响

例如,以下是IIS-6中查询字符串的名称:

DisabilityRepeater:_ctl1:ddDisability
从IIS-8:

DisabilityRepeater$ctl01$ddDisability
我已经搜索了名称munging的一些“突破性更改”,但在配置中找不到解决方案


我可以更改代码,但是我们正在将当前Server 2003上的所有应用程序迁移到Server 2012,其中包括大约75个应用程序,因此最好进行配置更新。

这是ASP.NET forms应用程序吗?该网站在Windows 2003上运行的ASP.NET版本是什么?在新的2012服务器上运行的是什么版本?另请参见:这是在ASP.NET窗体应用程序上运行的。它在两台服务器上都运行.Net 2.0/3.5。我还发现了一些关于在web.config中更改pages标记以包含ClientIDMode=AutoID的文档,我也在研究这个问题。