我的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找到设置,以确保它正确加载但无法找到它。
答案 0 :(得分:3)
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版本”列表中,选择希望应用程序池使用的版本,或者如果应用程序仅使用本机代码,则选择“无管理代码”。
单击“确定”。