http://dotnet.aspx.cc/ShowDetail.aspx?id=9EBB267B-E69D-460F-B4C7-BE08CA290C0F

解决方案 »

  1.   

    我知道为什么第一次RenderControl后,再次设置column的Visible不起作用?
      

  2.   

    how did you call it? I was wondering why you didn't get an error like[HttpException (0x80004005): Control 'DataGrid1__ctl2__ctl0' of type 'DataGridLinkButton' must be placed inside a form tag with runat=server.]must be placed inside a form tag with runat=servertry to call 
     
    foreach (System.Web.UI.WebControls.DataGridColumn column in DataGrid1.Columns)
    {
      if(column is System.Web.UI.WebControls.ButtonColumn)
      {
            column.Visible = ....;
      }
    }
    DataGrid1.DataBind();
    ....
      

  3.   

    第一Render是为了导出到Excel中,所以用Visible隐掉LinkButton列,然后再显示出来。但我发现第一次Render之后Visible=true没有作用。而且如果我不用Visible=false隐掉linkButton的话,直接RenderControl会出现[HttpException (0x80004005): Control 'DataGrid1__ctl2__ctl0' of type 'DataGridLinkButton' must be placed inside a form tag with runat=server.]must be placed inside a form tag with runat=server的错误。请问有什么办法呢?