我在GridView中添加checkBox,为什么在页面中无论是否选择,都显示false呢。
网上有很多类似代码,在我的机器上就得不到想要的效果
代码如下:    <div>
<asp:gridview ID="Gridview1" runat="server" AutoGenerateColumns="False" AllowPaging="True">
    <Columns>
        <asp:BoundField DataField="id" HeaderText="编号" />
        <asp:BoundField DataField="userId" HeaderText="用户名" />
        <asp:BoundField DataField="videoName" HeaderText="名称" />
        <asp:TemplateField  HeaderText="checked" SortExpression="checked">
            <ItemTemplate>
                <asp:CheckBox ID="CheckBox1" Text="通过" runat="server" />
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:gridview>    
        <br />
        <asp:CheckBox ID="chkAll" runat="server" AutoPostBack="True" OnCheckedChanged="chkAll_CheckedChanged"
            Text="全选" />
        &nbsp;
        <asp:Button ID="Button1" runat="server" Text="确定" OnClick="Button1_Click" />
    </div>
=======================================================================
public partial class _Default : System.Web.UI.Page 
{
    Web.dataClass.fnVideo dc = new Web.dataClass.fnVideo();
    protected void Page_Load(object sender, EventArgs e)
    {
        DataSet ds = dc.getAllData();
        Gridview1.DataSource = ds.Tables[0].DefaultView;
        Gridview1.DataBind();
    }
    protected void chkAll_CheckedChanged(object sender, EventArgs e)
    {
        for (int i = 0; i < Gridview1.Rows.Count; i++)
        {
            ((CheckBox)Gridview1.Rows[i].FindControl("CheckBox1")).Checked = chkAll.Checked;
        }
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        for (int i = 0; i < Gridview1.Rows.Count; i++)
        {
            bool isChecked = ((CheckBox)Gridview1.Rows[i].FindControl("CheckBox1")).Checked;
            Response.Write(isChecked.ToString() + "|");
        }        chkAll.Checked = false;
    }
}