ASP.NET 4.0 ListView等容器控件中获取ClientID值与HTML中自动生成ID字符串不一样问题。
ASP.NET 4.0 中 ClientIDMode的属性 可以设置获取不同ID格式的值。
项目中遇到的问题:
1、ListView1 ItemDataBound事件中,获取ClientID结果与自动生成ID一致。
2、ItemDataBound事件中不执行InsertItemTemplate段。(获取Insert中控件ID无法获取)
所以还得通过在ItemCreated时获取ClientID。结果后台中获取值与最终HTML自动生成ID字符串有差异。
解决方法:
在父容器控件ListView1的ClientIDMode值设为Static (ClientIDMode="Static")
其模板中控件TextBox的ClientIDMode值设为Predictable (ClientIDMode="Predictable ")
结果一致“ctrl0_LogoURLTextBox_0” 自动生成ID也不带父容器ID。