Lors de l'utilisation du code managé dans InfoPath 2007, vous pouvez être amené à déclarer une variable globale afin de simplifier votre code.
Seulement, en infopath, cela nécessite de passer par l'utilisation d'un FormState (sous peine d'avoir un joli message d'erreur à la publication).
Il existe d'ailleurs un exemple prédéfini et commenté dans chaque formcode d'InfoPath.
La syntaxe à suivre est la suivante:
public partial class FormCode
{
//Variable globales
private string _strConnectionString
{
get {return (string)FormState["_strConnectionString"];}
set {FormState["_strConnectionString"] = value;}
}
...
}
Cela permet de déclarer le formState grâce à un get,set.
Ensuite , cette variable s'utilise simplement de la manière suivante:
- Affectation : FormState["_strConnectionString"] = "test";
- Lecture: string strConnectionString = FormState["_strConnectionString"].ToString();
Avec ceci, les variables globales InfoPath n'ont plus aucun secret pour vous.