0

我将此代码用于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 添加一列复选框。我的问题是,当我单击行转到 WebForm1.aspx 的任何字段时,但我想在单击 CheckBox 时没有转到 WebForm1.aspx 页面并且只检查 CheckBox 控件。

4

2 回答 2

0

从您的代码中取出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;");

        }}
于 2011-12-14T14:56:14.820 回答
0

我相信您需要修改最后一行以使用 FindControl 方法查找复选框控件并传入复选框控件的 id,如下所示:

 e.Row.FindControl("myCheckBoxName").Attributes.Add("onclick", "location='WebForm1.aspx?id=" + DataBinder.Eval(e.Row.DataItem, "CustomerID") + "'";);
于 2011-12-14T14:57:12.913 回答