当我试图在后面的代码中的 OnItemCreated 事件中访问ClientID时,它总是产生我在设计aspx页面中指定的相同ID [它没有生成唯一ID] 。注意:当我在 OnItemDataBound 命令中访问时,它会生成正确的唯一ID生成。有什么原因吗? 以下是守则......
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
CheckBox chk = (CheckBox)e.Item.FindControl("chkUID");
if (chk != null)
{
chk.Attributes.Add("OnClick", "javascript:selectDiv(" + chk.ClientID.ToString() + ");");
}
}
}
答案 0 :(得分:0)
不要在代码隐藏中构建所有内容,而应该使用jQuery javascript库来附加onclick事件。
通常使用jQuery select在客户端执行此操作要容易得多。
如果您的id以chkUID开头,您可以执行以下操作:
$(document).ready(function () {
$("div[id*='chkUID']").click( function() { selectDiv( $(this).id ) } );
});
有关jquery的教程,请查看http://docs.jquery.com/Tutorials