Question

Je la situation suivante ... Dans un certain point de vue, l'utilisateur doit sélectionner l'heure initiale, la dernière heure et le jour de la semaine. Mais, je ne peux pas sauver cet à cause de DB je dois sauver ma page entière et j'ai besoin la clé primaire de la table primaire, mais ce n'est pas le point.

Ainsi, alors que je ne sauvegardons pas ces données à la DB, je sauve une session. On m'a dit de sauver à un cookie, mais il semble que les cookies ont une limite de taille. Alors, je sauve une session.

Buuuut, On m'a aussi dit que je pouvais sauver ces informations (heures et en semaine) à la page d'utilisateur, simulant une ASP.NET ViewState ...

Quelqu'un sait comment faire ?? Est-ce que quelqu'un sait comment sauver temporairement ces données à l'aide withou cookies ou session ??

Merci !!

Était-ce utile?

La solution

champs d'entrée cachés ne seront pas aider?

<%= Html.Hidden(...) %>

Mise à jour (sérialisation d'un objet à base64):

var formatter = new BinaryFormatter();
var stream = new MemoryStream();
formatter.Serialize(stream, myObject); // myObject should be serializable.
string result = Convert.ToBase64String(stream.ToArray());

Lorsque vous voulez récupérer en arrière:

var formatter = new BinaryFormatter();
var stream = new MemoryStream(Convert.FromBase64String(hiddenFieldValue));
var myObject = (MyObjectType)formatter.Deserialize(stream);

Assurez-vous de valider les données stockées dans le champ lorsque vous l'utilisez en tant que client pourrait changer. Prend soin de ViewState automatiquement.

Side note: utilisations ASP.NET LosFormatter au lieu de sérialiser BinaryFormatter comme il est <=> sérialisation base plus efficace ou ASCII. Vous voudrez peut-être considérer que trop.

Autres conseils

TempData [ "MyData"], l'esprit que vous cela ne durera un aller-retour.

Vous pouvez enregistrer un tableau javascript sur le client ... et puis transmettre toutes les informations lorsque l'utilisateur enregistre en fin de compte.

Vous devez travailler un peu plus, mais à la fin elle est payante.

J'utilise fortement jQuery pour faire des choses comme ça, il est plus facile qu'il n'y paraît.

Si vous voulez juste pour enregistrer les données pour cette demande et la requête suivante que je vous recommande d'utiliser TempData, sinon je vous recommande d'utiliser la réponse Mehrdad`s.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top