有人知道为什么ASP4在ASP.NET控件上去掉了ctl00前缀吗?
有没有我错过的场景?
发布于 2010-12-14 17:44:05
在HTML4.0中,他们引入了对更清晰的ASP.NET语法的支持。你可以在at Scott Gu's blog上读到它。如果您希望客户端ID采用经典模型,则可以调整web.config:
<configuration>
<system.web>
<pages controlRenderingCompatibilityVersion="3.5" />这将使升级应用程序变得更容易。您可以使用Control.ClientIDMode属性更改每个控件(和每个页面)的此设置,该属性也可以在web配置中进行设置:
<configuration>
<system.web>
<pages clientIDMode="AutoID|Predictable|Static|Inherit" />AutoID使用经典的ASP.NET 2.0模型呈现控件。
发布于 2010-12-14 17:44:25
据我所知,应该由ASP.NET来决定使用哪个前缀。引用具有硬编码的id值的控件是一种不好的做法。
您应该使用ClientId属性,它将始终为您生成正确的Id:
<td class="tmarg10" style="width: 150px">
<label for="<%=txtName.ClientID %>">
Name of the mall group :</label>
</td>
<td class="tmarg10">
<asp:TextBox ID="txtName" runat="server" Columns="90" /> <br />
</td>在上面的示例中,它计算文本框的正确ID并将其放入标签属性中。通过这种方式,您将不再担心保持控件的id不变。
发布于 2010-12-14 17:40:00
https://stackoverflow.com/questions/4437717
复制相似问题