Comment stocker des Données statiques WebMethods dans le ViewState

Maintenant, j'ai fait quelques recherches. J'ai besoin de stocker des données que j'ai récupéré d'un appel ajax de mon WebMethod sur ma page dans un endroit où je peux le tirer en arrière de nouveau à tout moment.

Je pensais au début que le ViewState serait la meilleure option. Malheureusement, vous ne pouvez pas y faire référence dans la même façon, vous pouvez non des méthodes statiques. Même si je fais l'exemple de la page, de le stocker dans le ViewState, je crois qu'il serait de instancié à la fin de la méthode de détruire toutes les données, j'ai sauvé.

J'ai besoin de ces données pour les besoins de la base de données des appels que je suis en train de faire dans d'autres WebMethods.

La méthode de base dans mon C# code-behind pour ma page aspx ressemble à ceci:

    [WebMethod]
    [ScriptMethod]
    public static string populateModels(string[] makeIds)
    {

    }

Ainsi, par exemple, j'ai besoin de sauvegarder l'fait pour tirer à partir pour de futurs appels de base de données. Depuis la plupart de mes boîtes de cascade en termes de filtrage et de tirer à partir de la base de données.

Mise à jour:

Ce code fonctionne pour la récupération et le stockage des données dans le SessionState en statique WebMethods.

    [WebMethod(EnableSession = true)]
    [ScriptMethod]
    public static string populateYears(string[] modelIds)
    {

        HttpContext.Current.Session["SelectedModels"] = modelIds;

        string[] makeids = (string[])HttpContext.Current.Session["SelectedMakes"];
     }

OriginalL'auteur Alexander Ryan Baggett | 2013-08-23