ASP.NET GridView RowDataBound с CheckBox активным - PullRequest
0 голосов
/ 14 декабря 2011

Я использую этот код для 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.

Ответы [ 2 ]

0 голосов
/ 14 декабря 2011

Я считаю, что вам нужно изменить последнюю строку, чтобы найти элемент управления checkbox, используя метод FindControl, и передать идентификатор элемента управления checkbox, примерно так:

 e.Row.FindControl("myCheckBoxName").Attributes.Add("onclick", "location='WebForm1.aspx?id=" + DataBinder.Eval(e.Row.DataItem, "CustomerID") + "'";);
0 голосов
/ 14 декабря 2011

Извлеките событие 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;");

        }}
...