ASP.NET GridView行数据绑定,复选框可单击

ASP.NET GridView行数据绑定,复选框可单击,gridview,checkbox,rowdatabound,Gridview,Checkbox,Rowdatabound,我对gridview使用以下代码: protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { e.Row.Attributes.Add("style", "font-weight:bold;color:blue");

我对gridview使用以下代码:

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {   if (e.Row.RowType == DataControlRowType.DataRow)
        {
            e.Row.Attributes.Add("style", "font-weight:bold;color:blue");
            e.Row.Attributes.Add("style", "cursor:pointer;");
            e.Row.Attributes.Add("onclick", "location='WebForm1.aspx?id=" + DataBinder.Eval(e.Row.DataItem, "CustomerID") + "'";);
        }}
还可以使用TemplateField添加一列复选框。
我的问题是,当我单击goto WebForm1.aspx行的任何字段时,但我希望单击复选框no goto WebForm1.aspx页面并仅选中复选框控件。

从代码中取出onclick事件

 protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {   if (e.Row.RowType == DataControlRowType.DataRow)
        {
            e.Row.Attributes.Add("style", "font-weight:bold;color:blue");
            e.Row.Attributes.Add("style", "cursor:pointer;");

        }}

我认为您需要修改最后一行以使用FindControl方法查找checkbox控件,并传入checkbox控件的id,类似于以下内容:

 e.Row.FindControl("myCheckBoxName").Attributes.Add("onclick", "location='WebForm1.aspx?id=" + DataBinder.Eval(e.Row.DataItem, "CustomerID") + "'";);

你能详细说明一下代码中哪些地方不正确吗?测试时,您是否收到错误或异常?