ASP.net客户端ID模式

问题描述:

我有这条线在我的web.config:ASP.net客户端ID模式

<pages validateRequest="false" smartNavigation="false" clientIDMode="Static"> 

这是工作的罚款,分配给控制标识的我走了出来,因为他们在代码。然而,对于现场服务器上的一些原因,他们都开始使用如服务器生成的名字渲染:

<input name="ctl00$MainContent$Password2" type="password" maxlength="32" id="Password2" class="nice-textbox" /> 

任何人都知道这可能是导致它们来渲染这种方式?这导致很多页面被打破。

我试图通过IIS找到设置,以确保它正确加载它,但无法找到它。

+2

'clientIDMode'是在.NET 4新所以是没有运行4.0的现场服务器的应用程序池? – 2012-02-18 22:14:59

+0

@Tim是的,尽管现在会检查一切。直到大约2天前,它一切正常。 2天前,我确实安装了一些服务器监控软件,我现在正在移除服务器,并重新启动服务器以查看是否有帮助。 – 2012-02-18 22:26:21

clientIDMode是.NET 4中的新增功能。您的活动服务器的应用程序池是否不运行4.0?

http://technet.microsoft.com/en-us/library/cc754523%28v=ws.10%29.aspx

  1. 打开IIS管理器。有关打开IIS管理器的信息,请参阅打开IIS管理器(IIS 7)。

  2. 在“连接”窗格上,展开服务器节点并单击“应用程序池”。

  3. 在“应用程序池”页面上,选择要为其指定.NET Framework版本的应用程序池,然后单击“操作”窗格中的“基本设置”。

  4. 在“编辑应用程序池”对话框的.NET Framework版本列表中,选择希望应用程序池使用的版本,或者如果应用程序仅使用本机代码,请选择“无托管代码”。

  5. 单击确定。

enter image description here

+0

嗨蒂姆,感谢这些指示,他们很棒。我已经解决了这个问题。 2天前我们安装了NewRelic这是一个监控服务。我卸载它并重新启动服务器,现在它使用静态ID来呈现表单控件。我已经发送了一封电子邮件给NewRelic让他们知道,并且我不是100%确定NewRelic是原因,但现在全部正在工作。 – 2012-02-18 22:36:21