在我的用户控件中,有一个GridView。 当我检查GridView标题中的复选框时,我想选中所有复选框。 我的用户控件可以在页面中多次使用。 所以我尝试这样。无法获取属性“长度”的值:对象为空或未定义 - Javascript错误
我的GridView
<asp:GridView ID="GridView" runat="server">
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<asp:CheckBox ID="chkHeader" runat="server" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="chkEach" runat="server" />
</ItemTemplate>
.
.
这是我的C#代码
CheckBox chkAll = gvAttachment.Controls[0].Controls[0].FindControl("chkHeader") as CheckBox;
if (chkAll != null)
{
chkAll.Attributes.Add("onclick", "SelectAllChkBox('" + chkAll.ClientID + "','" + GridView.ClientID + "');");
}
这是我的javascript
function SelectAllChkBox(value , grid) {
for (var i = 1; i < grid.all.length; i++) {
grid.all[i].checked = value.checked;
}
}
但我得到这个错误。
Unable to get value of the property 'length': object is null or undefined
我的代码有什么问题?
grid.all是不确定的... – Asken 2012-02-29 08:04:08
什么,我认为是有根本没有“所有”属性,但我不知道你正在使用的对象。试着找出是否有'全部'属性。 – Codebeat 2012-02-29 09:15:11
我认为,根本没有“全部”属性,但我不知道您使用的对象。试着找出是否有'全部'属性。使用Firebug浏览DOM并调试您的代码。 – Codebeat 2012-02-29 09:17:14