2

我有一个托管在 GoDaddy 上的网站,它们有 4.0 版运行时。问题是服务器控件的客户端 ID 生成为“contentPlaceHolder1_drpBanks”,而之前(当网站位于其他服务器上时)生成为“ctl00_contentPlaceHolder1_drpBanks”。

我需要知道的是有办法解决这个问题,这样我就不必对代码进行任何更改。

就像 web.config 文件中的设置之类的。

4

2 回答 2

2

在将来的使用<%=Control.ClientID%>中,每次都会成功解决 - 无需更改代码。

于 2010-10-13T09:17:12.583 回答
1

ASP.NET 4.0 中的控件有一个ClientIDMode属性。如果将此设置为AutoID,则 ASP.NET 应该以与 ASP.NET 2.0 中相同的方式生成客户端 ID。这是一篇解释不同客户端 ID 模式的文章。

除了ClientIDMode在控制级别设置外,您还可以在页面或应用程序级别进行设置:

<%@ Page Language="C#" ClientIDMode ="AutoID" ... %>

或者

<system.web>
    <pages clientIDMode="AutoID" />
</system.web>

但我同意 leppie 的评论,即依赖生成的客户端 ID 是危险的。

于 2010-10-13T09:17:02.953 回答