C# 访问动态复选框控件';数据列表控件内的s ClientID';s创建的事件 动态复选框的ClientID属性 问题:我需要在Datalist中为每个具有唯一ID的复选框附加一些javascript函数。
当我试图访问隐藏代码中的OnItemCreated事件中的ClientID时,它总是产生与我在design aspx页面中指定的ID相同的ID[它不会生成唯一ID]。注意:当我在OnItemDataBound命令中访问时,它会生成正确的唯一ID。有什么原因吗? 下面是代码C# 访问动态复选框控件';数据列表控件内的s ClientID';s创建的事件 动态复选框的ClientID属性 问题:我需要在Datalist中为每个具有唯一ID的复选框附加一些javascript函数。,c#,asp.net,C#,Asp.net,当我试图访问隐藏代码中的OnItemCreated事件中的ClientID时,它总是产生与我在design aspx页面中指定的ID相同的ID[它不会生成唯一ID]。注意:当我在OnItemDataBound命令中访问时,它会生成正确的唯一ID。有什么原因吗? 下面是代码 protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e) { if (e.Item.ItemType == ListI
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() + ");");
}
}
}
与其在codebehind中构建所有内容,不如研究使用jQuery javascript库来附加onclick事件 通常,使用jqueryselect在客户端执行此操作要容易得多 如果您的id以chkUID开头,您可以执行以下操作:
$(document).ready(function () {
$("div[id*='chkUID']").click( function() { selectDiv( $(this).id ) } );
});
有关jquery的教程,请查看