<asp:TemplateField HeaderText="权限">
                        <ItemTemplate>
                            <asp:Label ID="Label8" runat="server" Text='<%#Eval("roleid") %>'></asp:Label>
                        </ItemTemplate>
                        <EditItemTemplate>
                            <asp:DropDownList ID="DropDownList1" runat="server" Width="91px">
                                <asp:ListItem Value="0">-请选择-</asp:ListItem>
                                <asp:ListItem Value="1">超级管理员</asp:ListItem>
                                <asp:ListItem Value="2">跟单员</asp:ListItem>
                                <asp:ListItem Value="3">信息录入员</asp:ListItem>
                                <asp:ListItem Value="4">产品录入员</asp:ListItem>
                                <asp:ListItem Value="5">留言管理员</asp:ListItem>
                            </asp:DropDownList>
                        </EditItemTemplate>
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow && e.Row.RowState == DataControlRowState.Normal)
            {
                Label lblrole = (Label)e.Row.FindControl("Label8");//这个Label8所绑定的数据库数据是int型 就是 1,2,3,4,5
                switch (lblrole.Text)
                {
                    case "1":
                        lblrole.Text = "超级管理员";
                        break;
                    case "2":
                        lblrole.Text = "跟单员";
                        break;
                    case "3":
                        lblrole.Text = "信息录入员";
                        break;
                    case "4":
                        lblrole.Text = "产品录入员";
                        break;
                    case "5":
                        lblrole.Text = "留言管理员";
                        break;
                    default:
                        break;
                }
              
            }
    }
    protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    {
        GridView1.EditIndex = e.NewEditIndex;
        Load_Page(); //这是我自定义的GridView绑定事件
    }我得到的结果 确实
第1行 超级管理员
第2行 2
第3行 留言管理员
当我的判断为  if (e.Row.RowType == DataControlRowType.DataRow )就成功 
但是如果是这样 我的 rowediting下的事件绑定就不成功

解决方案 »

  1.   


    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        if (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Alternate)
        {
            Label lblrole = (Label)e.Row.FindControl("Label8");//这个Label8所绑定的数据库数据是int型 就是 1,2,3,4,5
                    switch (lblrole.Text)
                    {
                        case "1":
                            lblrole.Text = "超级管理员";
                            break;
                        case "2":
                            lblrole.Text = "跟单员";
                            break;
                        case "3":
                            lblrole.Text = "信息录入员";
                            break;
                        case "4":
                            lblrole.Text = "产品录入员";
                            break;
                        case "5":
                            lblrole.Text = "留言管理员";
                            break;
                        default:
                            break;
                    }    }
        else if ((e.Row.RowState & DataControlRowState.Edit) != 0)
        {
            //编辑状态的其他绑定代码
        }
    }