2009-06-26 4 views
3

Est-il possible d'obtenir une valeur particulière hors de viewstate en utilisant JQuery ....Obtention de valeurs à partir de viewstate à l'aide de JQuery?

Je travaille sur un contrôle personnalisé. Il utilise jquery, intégré dans le contrôle lui-même pour manipuler la valeur dans une zone de texte ... J'ai besoin d'implémenter des valeurs minimum et maximum ... les propriétés sont définies dans le contrôle, et sont stockées dans viewstate ... d'utiliser des champs de saisie cachés, je préfèrerais simplement retirer l'information de viewstate et l'utiliser comme ça ... est-ce possible?

Merci

Répondre

2

Vous pouvez également afficher les attributs min et max en tant qu'attributs personnalisés de la zone de texte (et même leur espace de nommage si vous souhaitez conserver la validité de xhtml); alors vous les référenceriez comme $thebox.attr('min') et $thebox.attr('max') ou similaire.

+0

Sans avoir à faire plus qu'ajouter une instruction if, je dirais que c'était le plus facile à implémenter sans avoir à apporter de modifications majeures au code ... sur le rendu j'ai juste ajouté des attributs supplémentaires avec les min et max et juste jeté dans la jquery avec le .attr .... c'est un peu plus compliqué puisque j'utilise le frère de 'ceci' pour les boutons et en tirant la boîte 'input' ... mais c'est assez simple vous avez passé cela. – Patrick

3

La réponse courte est que vous pouvez le faire dans certaines circonstances, mais il est vraiment pas une bonne idée.

Si vous écrivez le contrôle pour que d'autres personnes l'utilisent, il est impossible que ViewState fonctionne. Par défaut, ViewState est codé en Base64, ce qui est assez facile à décoder, mais les utilisateurs de votre contrôle peuvent vouloir crypter leurs données ViewState, auquel cas vous seriez victime d'une intrusion.

Si vous écrivez le contrôle de votre propre consommation et il vous suffit de lire de ViewState, vous pourrait le faire, mais je ne le recommanderais pas à moins de trouver une bibliothèque bien débogué pour analyser ce pour toi. Le format est un peu poilu (voir ViewState: All You Wanted to Know et Understanding ASP.NET ViewState pour plus de détails). Comme vous l'avez mentionné, l'utilisation d'un champ caché standard est une bonne alternative, ou vous pouvez injecter un autre bloc de javascript dans votre page pour définir les valeurs des variables à tout point que le contrôle les définit.

+0

Merci pour l'info ... Je n'étais pas sûr si c'était possible/utile ... c'est quelque chose qui sera probablement partagé, donc je vais rester loin de la vue. – Patrick

Questions connexes