2010-12-15 13 views
3

Comment puis-je convet viewstate bool tableauC# convertir viewstate bool tableau

private bool[] clientCollapse 
{ 
    get { return Convert.ToBoolean(ViewState["Collapse"]); } 
    set { ViewState["Collapse"] = value; } 
} 

Toutes les idées ???

Répondre

3
private bool[] clientCollapse 
{ 
    get { return (bool[])ViewState["Collapse"]; } 
    set { ViewState["Collapse"] = value; } 
} 

si fonctionnera si vous définissez ces valeurs en utilisant uniquement cette propery, sinon vous pouvez, mais il autre type et fonte ne fonctionnera pas

convention de nommage BTW commun pour C# exige des noms de propriété à commencer par le capital: ClientCollapse

1

essayez de changer votre getter:

get { return ViewState["Collapse"] as bool[]; } 

renvoie null cette si elle est pas définie.

1

Vous devez utiliser des moulages pour ce faire:

private bool [] clientCollapse 
{ 
    get { return (bool[]) ViewState["Collapse"]); } 
    set { ViewState["Collapse"] = value; } 
} 

sérialisation de ASP.NET d'état d'affichage fera le reste pour vous.

1

Vous pouvez le faire:

private bool[] clientCollapse 
{ 
    get { return (bool[])ViewState["Collapse"] ?? new bool[0]; } 
    set { ViewState["Collapse"] = value; } 
} 
1
private bool [] clientCollapse 
{ 
    get { return (ViewState["Collapse"] as bool[]); } 
    set { ViewState["Collapse"]; } 
} 
1

Vous pouvez utiliser des méthodes d'extension afin que vous l'utilisez ViewState<byte[]>.GetTypedData(key):

public static class ViewStateExtensions 
    { 

     public static T GetTypedData<T>(this StateBag bag, string key) 
     { 
      return (T) bag[key]; 
     } 

     public static void SetTypedData<T>(this StateBag bag, string key, T value) 
     { 
      bag[key] = value; 
     } 

    }