我的web.config中有这一行:
<pages validateRequest="false" smartNavigation="false" clientIDMode="Static">
这工作正常,我分配给控件的Id出现在代码中.但是,由于某些原因,在实时服务器上,它们都已开始使用服务器生成的名称进行渲染,例如:
<input name="ctl00$MainContent$Password2" type="password" maxlength="32" id="Password2" class="nice-textBox" />
任何人都知道是什么原因导致他们呈现这种方式?它导致很多页面破裂.
我试图通过IIS找到设置,以确保它正确加载但无法找到它.
解决方法
clientIDMode
是.NET 4中的新功能.您的实时服务器的应用程序池是否未运行4.0?
http://technet.microsoft.com/en-us/library/cc754523%28v=ws.10%29.aspx
>打开IIS管理器.有关打开IIS管理器的信息,请参阅打开IIS管理器(IIS 7).>在“连接”窗格上,展开服务器节点,然后单击“应用程序池”.>在“应用程序池”页面上,选择要为其指定.NET Framework版本的应用程序池,然后单击“操作”窗格中的“基本设置”.>在“编辑应用程序池”对话框的“.NET Framework版本”列表中,选择希望应用程序池使用的版本,或者如果应用程序仅使用本机代码,则选择“无管理代码”.>单击“确定”.