2010-08-27 6 views
0

J'ai une page Web qui utilise AjaxControlToolkit: AutoCompleteExtener sur certains TextBox. Cette extension nécessite méthode de service, à partir de laquelle il obtiendra des données à afficher:La méthode AutoCompletionExtender d'AJAX Control Toolkit doit-elle être statique?

[System.Web.Services.WebMethodAttribute(), System.Web.Script.Services.ScriptMethodAttribute()] public static string[] GetCompletionList2(string prefixText, int count, string contextKey) { return DatabaseSearch.GetUnits().GetSymbolCompletion(prefixText, organizationToSearch); }

Dans cette méthode, j'utilise un argument = organizationToSearch. Mais je ne veux pas que cet argument soit statique! Et puisque la méthode est statique, je ne sais pas quoi faire. Si je supprime le mot-clé 'static' de la définition de la méthode, cela ne fonctionnera pas ... Et je ne veux vraiment pas changer organizationToSearch en statique non plus!

Aidez-nous s'il vous plaît.

Répondre

0

Il doit être statique car vous n'êtes pas dans l'exécution de votre page. Lorsque vous appelez un AjaxMethod, votre page (webforms) n'existe pas.

+0

Alors, est-il possible d'utiliser des variables non statiques à l'intérieur de cette méthode? – Richmond

+0

Vous devez l'ajouter dans les paramètres de votre méthode –

0

Comme déjà mentionné, vous êtes dans une nouvelle demande et completly pas dans l'exécution de votre page plus (votre page a déjà rendu par cette étape) ..

Vous devrez transférer et des paramètres hors et laissez-passer Retour à la méthode statique.

Questions connexes