Dans ASP.net 2.0, la propriété PreviousPage d'une page Web n'a pas de collection ViewState. Je veux utiliser cette collection pour transférer des informations entre les pages.Comment accéder à la collection ViewState de PreviousPage sur la publication inter-pages?
Répondre
Afficher l'état est exclusif à la page.
Si vous voulez transférer des articles,
- vous pouvez persister les données dans une base de données, fichiers, ticket d'auth ou un autre cookie (Ne pas utiliser de session ou HttpContext.Current.Cache si vous pouvez l'aider)
- faire un poste de Croix - de votre première page, republier à la deuxième page (et obtenir les détails de HttpContext.Current.Request.Form [] collection)
- mettre les valeurs dans une chaîne de requête
Utilisez plutôt HttpContext.Current.Items ... ViewState est seulement bon pour la page sur laquelle il est.
Cette m ethod est simple et propre. J'aime ça. –
J'ai essayé d'utiliser cette méthode, mais je poste directement à partir d'un lien sur la première page. Aucun code n'est en cours d'exécution où je peux remplir la collection HttpContext.Current.Items:
Vous ne pouvez pas directement. (Voir http://msdn2.microsoft.com/en-us/library/ms178139(vs.80).aspx
Voici ce que vous pouvez faire -.
Créer des propriétés publiques sur la première page d'exposer les informations que vous souhaitez partager sur la deuxième page, définissez la PreviousPageType à la première page dans l'en-tête du fichier ASPX :
<%@ previouspagetype virtualpath="~/firstpage.aspx" %>
Ensuite, obtenir les valeurs de ces propriétés en cas de charge de la deuxième page:
If (Not MyBase.IsPostBack) Then
_someValue = Me.PreviousPage.SomeValue
End If
Utilisez la directive @ PreviousPageType pour obtenir un typage fort par rapport à la propriété PreviousPage. "_someValue = firstPage.SomeValue" devient "_someValue = Me.PreviousPage.SomeValue" –
Réponse modifiée pour utiliser PreviousPageType –
Vous pouvez éviter usi ng directive PreviousPageType, en utilisant une classe de page de base pouvant contenir votre objet. Par exemple, vous avez la classe
public class BaseCrossPage:System.Web.UI.Page
{
public List<Guid> Invitees = new List<Guid>();
}
Donc, si la première page dérivent de cette classe
public partial class Default : BaseCrossPage
{
protected void Page_Load(object sender, EventArgs e)
{
this.Invitees = LoadInvitees();
}
}
Ensuite, la page que vous avez posté à peut accéder à cet objet, en supposant que la page précédente dérivée de BaseCrossPage .. .
public partial class secondPage : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
BaseCrossPage p = (BaseCrossPage)PreviousPage;
List<Guid> Invitees = p.InvitedTeams
}
}
genre de "VIEWSTATE" entre les pages ...
- 1. Peut accéder à un objet après la publication - ASP.NET
- 2. Erreur lors de la diffusion PreviousPage
- 3. stocke l'état à travers la publication
- 4. Propriétés Asp.net BasePage utilisant ViewState sont effacées lors de la publication
- 5. comment accéder à la table sur plusieurs serveurs de données
- 6. Propriété de collection observable modifiée sur l'élément de la collection
- 7. Arrêt de la publication sur TextChanged
- 8. Comment accéder à la collection Application [] à partir d'un service Web WCF
- 9. Session et viewstate sur la plate-forme facebook
- 10. Conservation dynamique d'Usercontrol sur la publication asynchrone
- 11. Conserver l'accent sur l'élément après la publication
- 12. Comment accéder Collection Type générique Classe
- 13. Publication sur la page php à l'aide du programme local
- 14. Syntaxe pour accéder aux variables dans viewstate
- 15. Publication basée sur la date ASP.NET MVC
- 16. Comment vérifier si la page est publication dans la fonction réservée pageLoad sur ASP.NET AJAX
- 17. Accéder à la liste de lecture sur l'iPod
- 18. Détection de la falsification de viewstate
- 19. C# Délégués à travers la publication
- 20. Comment accéder à la classe interne à l'aide de Reflection
- 21. FCKEditor ne définit pas la propriété Value sur la publication!
- 22. L'accès à ClientID interrompt la publication
- 23. Comment accéder à l'élément de la fenêtre principale de iframe
- 24. comment accéder à la fenêtre parents la plus haute
- 25. Comment personnaliser la publication dans ASP.NET?
- 26. Accéder à la source HTML sur la zone de la partie Web Sharepoint
- 27. Gridview disparaît à la publication lorsque la pagination est activée
- 28. Comment accéder aux éléments de la case à cocher iFrame
- 29. Quand et comment initialiser ViewState?
- 30. Comment accéder à l'élément .Net sur la page maître à partir d'une page de contenu?
I a fini par utiliser un article inter-pages, mais en accédant à une propriété publique sur la première page (voir ci-dessous). –