我有一个带有以下模板字段的 GridView
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="btnLoad" runat="server" Text="Load" CssClass="inptBtn" OnClientClick="return loadPlans(this);" UseSubmitBehavior="false" />
<ItemTemplate>
</asp:TemplateField>
这已经运行良好一段时间了。在 onclick 上,我们运行一些代码来检查 .NET 为该控件生成的 Id 并对其进行处理。以前生成的Id是这样的
gvPlans_ctl02_hdPlans
这仍然是在我们的开发和测试环境中生成的内容,但在生产环境中,它现在看起来像这样
gvPlans_hdPlans_0
这两个环境中的代码肯定是相同的,但我不确定是什么导致了命名约定的更改。我试图用谷歌搜索答案,但搜索词对于这个问题来说有点通用,所以我转向值得信赖的SO。我认为答案可能与正在运行的框架或类似简单的东西有关。如果您有任何想法,请告诉我,谢谢!
最佳答案
这由控件的 ClientIDMode 属性控制:
- http://msdn.microsoft.com/en-us/library/1d04y8ss.aspx
- http://msdn.microsoft.com/en-us/library/system.web.ui.control.clientidmode.aspx
默认值可以在 web.config 文件中配置:
或者可以在@Page
指令中为页面设置:
关于asp.net - 为什么我的控件采用不同的 id 命名约定?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6298223/