Ciao a tutti.

E' possibile in asp net mostrare o meno una colonna del gridview a secondo del valore di una variabile session o cookie?

Sto provando così, cioè assegnando un nome al `HeaderText` alla colonna da nascondere e controllando il valore della variabile in `GridView1_RowCreated`, ma pur non avendo errori la colonna che mi interessa nascondere nel gridview continua ad essere visibile...



codice:
<script runat="server">
public void Page_Load (Object sender, EventArgs e)
{
    OdbcConnection myConnectionString = new OdbcConnection(ConfigurationManager.ConnectionStrings["ConnMySQL"].ConnectionString);
    myConnectionString.Open();

    myConnectionString.Close();
    myConnectionString.Dispose();
    
    lblMessage.Text = "";

     if (Request.Cookies["nome"] != null)
    {
        string fld = Request.Cookies["nome"].Value;
        Response.Write("Eccomi ...
");
        Response.Write(fld + "
");

    }
    else
    {
        Response.Write("Nessun cookie ...
");
    }

 }

protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
    
    (
       (DataControlField)GridView1.Columns
             .Cast<DataControlField>()
             .Where(fld => fld.HeaderText == "Modifica")
             .SingleOrDefault()
    ).Visible = false;
} 
</script>

<asp:TemplateField HeaderText="Modifica"> 

    <ItemTemplate>
      <asp:ImageButton ID="ImageButton1" CommandName="Edit" Runat="Server"
      ImageUrl="/Images/edit.gif" ToolTip="edit" 
      OnClientClick="return confirm('Confirm?.');" />
    </ItemTemplate>

    <EditItemTemplate>
      <asp:ImageButton ID="ImageButton2" CommandName="Update" Runat="Server"
      ImageUrl="/Images/update.gif" ToolTip="update"
      OnClientClick="return confirm('Confirm?.');" /> 

      <asp:ImageButton ID="ImageButton3" CommandName="Delete" Runat="Server"
      ImageUrl="/Images/delete.gif" ToolTip="delete"
      OnClientClick="return confirm('Confirm?.');" />
    </EditItemTemplate>

  </asp:TemplateField>