Question

Avoir une page qui ajoute des contrôles de manière dynamique. L'état du contrôle est en cours de récupération à partir de la base de données et les contrôles sont rajoutés à la page après publication. L'utilisateur peut ajouter / supprimer des contrôles via l'interface utilisateur. Lorsque deux utilisateurs se trouvent sur la même page et que l'un ajoute / supprime des contrôles, l'autre utilisateur recevra l'erreur ViewState lors de sa prochaine tentative de modification de l'état du contrôle.

& Impossible de charger viewstate. L'arborescence de contrôle dans laquelle viewstate est en cours de chargement doit correspondre à l'arborescence de contrôle utilisée pour enregistrer l'état de visualisation lors de la demande précédente. Par exemple, lors de l'ajout dynamique de contrôles, les contrôles ajoutés lors d'un post-retour doivent correspondre au type et à la position des contrôles ajoutés lors de la demande initiale. "

En effet, lorsque la page est dessinée, j’utilise un ensemble de contrôles et j’obtiens un ensemble de contrôles différent lors de la publication car l’état du contrôle a été modifié par un utilisateur différent.

Je comprends l'erreur et sa raison, mais je pense qu'il me manque quelque chose ici. Existe-t-il un moyen d’avoir une page qui ajoute des contrôles de manière dynamique et peut gérer des utilisateurs simultanés qui modifient l’état des contrôles?

Était-ce utile?

La solution

Vous devez séparer l'état de l'utilisateur actuel de l'état maître ou global. Lors de la publication, au lieu de créer votre arborescence de contrôle en fonction de la définition principale de la base de données, chargez une arborescence de contrôle en cache propre à l'utilisateur actuel. Une fois que vous avez terminé la reconstruction de ViewState, lancez votre processus de rapprochement - que ce soit automatique ou s'il faut charger une autre interface utilisateur pour permettre à l'utilisateur de participer dépasse le cadre de la question.

Le fait est que vous devez conserver les "branches". du maître, utilisateur par utilisateur, et valider et lire de manière plus contrôlée.

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