2010-06-26 7 views
0

Dire par exemple si j'ai une entité commerciale -> Client, qui a customerId, customerName et customerType. J'ai créé un ASP: Variable cachée hdnCustomer à runat = "server"Attribuer une entité commerciale à une variable cachée

Si je voulais sérialiser la valeur de l'entité commerciale du client (dans le code derrière) pour le client hdnCustomer alors comment ferais-je cela? Aussi une fois sérialisé comment pourrais-je le désérialiser?

// Pseudo code 

Collection<Customer> customerList = new Collection<Customer>(); 

customerList = BusinessAccess.GetCustomerList(); 

hdnCustomer = serialize and assign the value of 'customerList' to hdnCustomer; 

... 

... 

// Later on a select index change of one of the drop down lists 

A l'intérieur du gestionnaire d'événements pour la liste déroulante:

{ 

Collection<Customer> customerList = new Collection<Customer>(); 

customerList = deserialize the value from hdnCustomer 

int a = Convert.ToInt32(ddlDropDown.SelectedValue); 

foreach(a in customerList) 

{ 

// Do something 

} 

} 

Répondre

0

Vous pouvez serialise vers et à partir de XML en utilisant XmlSerializer:

http://support.microsoft.com/kb/815813

Cependant, si vous stockez simplement l'objet dans la collection ViewState [] qui devrait fonctionner mieux:

ViewState["Customer"] = customerList; 

Il fait la même chose: stocker l'objet serialisable dans la page, cachée à l'utilisateur: mais ce ne sera pas dans un format lisible par l'homme.

(edit: Pour deserialise, juste obtenir la valeur de ViewState [ "Client"], la vérification d'un nul avant de l'utiliser!)

modifier 2: un lien utile sur le stockage d'objets dans ViewState:

http://www.beansoftware.com/ASP.NET-Tutorials/ViewState-In-ASP.NET.aspx

espoir qui aide.

Questions connexes