Question

J'essaie de porter une solution de ferme vers une solution en bac à sable, et je n'arrive pas à comprendre comment porter ce morceau de code :

[ToolboxItem(false)]
public partial class vClockPartSB : System.Web.UI.WebControls.WebParts.WebPart
{
    [Personalizable(PersonalizationScope.User)]
    public Collection<String> ClockTimeZones { get; set; }
    [Personalizable(PersonalizationScope.User)]
    public int NumberOfClocks { get; set; }
    [Personalizable(PersonalizationScope.User)]
    public string DdlMain { get; set; }
    [Personalizable(PersonalizationScope.User)]
    public string DdlSubOne { get; set; }
    [Personalizable(PersonalizationScope.User)]
    public string DdlSubTwo { get; set; }
    [Personalizable(PersonalizationScope.User)]
    public string DdlSubThree { get; set; }
    [Personalizable(PersonalizationScope.User)]
    public string DdlSubFour { get; set; }



    protected override void OnInit(EventArgs e)
    {
        ClockTimeZones = new Collection<string>();
        base.OnInit(e);
        InitializeControl();
    }

J'obtiens l'erreur suivante :

Erreur de composant WebPart :L'exception non perdue a été lancée par la méthode d'exécution du Code SandboxEd dans le domaine de l'application de confiance partielle:Composant WebPart La propriété 'ClockTimeZones' utilise un type non pris en charge (System.Collections.ObjectModel.Collection'1[[System.String, mscorlib, Version=2.0.0.0, Culture=neutre, PublicKeyToken=b77a5c561934e089]]), et ne peut pas être exécuté en tant que composant WebPart de code en bac à sable.

Comment dois-je l’aborder ?

Était-ce utile?

La solution

Je serais tenté de stocker une chaîne - plutôt que d'une collection de cordes - et effectuez ma propre sérialisation / désérialisation.En utilisant probablement la fonction string.split () et un délimiteur approprié.

Autres conseils

Le System.Collections.ObjectModel l’espace de noms n’est pas autorisé dans le bac à sable.

Pour votre scénario, pourriez-vous utiliser le Liste< chaîne > plutôt?

Apparemment, seuls les types suivants sont pris en charge comme les propriétés de la partie Web dans la solution Sandbox:

  • chaîne
  • bool
  • Enum
  • court
  • int
  • GUID
  • Uri
  • octet
  • CHAR
  • long
  • float
  • décimal
  • Double

    Voici un lien vers Alan Dahl's Article de blog où le blog d'Alan Dahls a fait la recherche.

Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top