protected void Page_Load(object sender, EventArgs e)
    {
        if (Session["EmployeeID"] == null)
        {
            Response.Redirect("~/Login.aspx");
        }
        else
        {
            GridView1.AutoGenerateColumns = false;
            GridAddColumn(GridView1, "test", "test");
            ....//省略代码
            GridView1.DataSource = dataSet;
            GridView1.DataBind();
        }
    }
 public void GridAddColumn(GridView GridView1, string HeaderText, string DataField)
    {
        BoundField boundField = new BoundField();
        GridView1.Columns.Add(boundField);
        boundField.HeaderText = HeaderText;
        boundField.DataField = DataField;
        GridView1.Columns.Add(boundField);
    }请注意,这里我加了GridView1.AutoGenerateColumns = false;

解决方案 »

  1.   

    BoundField boundField = new BoundField();
            GridView1.Columns.Add(boundField);        boundField.HeaderText = HeaderText;
            boundField.DataField = DataField;
            GridView1.Columns.Add(boundField);
    这是什么意思?
      

  2.   

    BoundField boundField = new BoundField();
    boundField.HeaderText = HeaderText;
    boundField.DataField = DataField;
    GridView1.Columns.Add(boundField);
      

  3.   


    每一次回发都重新执行 DataBind ?除非你是使用7年前的asp.net1.1,否则你的程序就写错了。只有!IsPostback的时候才需要执行 DataBind!