Accès ASP.NET contrôle de la statique [WebMethod] (JS appel ajax)
J'ai un ASP.NET Site web et un contrôle personnalisé (appelons cela myControl).
J'ai besoin d'appeler une méthode sur ce contrôle avec l'AJAX.
Je poste appel ajax à partir de JavaScript (jQuery) pour C# WebMethod.
Cela fonctionne bien, mais je n'arrive pas à myControl statique WebMethod.
Toutes les idées sur la façon de résoudre ce problème?
Version courte:
Appel AJAX JS pour C# WebMethod fonctionne -> * ici (dans cette méthode) j'ai besoin d'appeler une méthode sur mon contrôle personnalisé qui est inaccessible en raison de la méthode statique type *
[WebMethod]
public static List<CustomListControl.IListItem> GetListItems()
{
//CAN'T GET TO MY CONTROL - need to return myContorl.Items;
return null;
}
Double Possible de Comment faire pour afficher les commandes en statique méthode web
OriginalL'auteur Heko | 2010-01-25
Vous devez vous connecter pour publier un commentaire.
Bien, ce n'est pas la bonne approche. À la méthode de service web de niveau on ne voit rien sur la structure de la page. Dans cette méthode, vous ne pouvez charger la liste de vos articles et de les retourner. D'où cette liste est lié à aucune de GetListItems' entreprise.
Vous pouvez gérer l'affichage des Articles par la mise en œuvre d'une fonction de rappel (voir http://mattberseth.com/blog/2007/06/aspnet_ajax_invoke_a_static_me.html par exemple) ou à l'aide de l'UpdatePanel approche.
J'ai, à tort, écrit au sujet d'une méthode de service web, mais cela ne change pas l'argument 🙂 . Aussi longtemps que vous êtes à l'aide d'un WebMethod vous ne pouvez pas accéder à votre contrôle à ce niveau. Vous pouvez gérer le Contexte de l'objet, de la Session et ainsi de suite, ou appeler une bibliothèque externe, mais c'est tout.<br /> Vous n'avez que deux façons de faire ce que vous voulez:<br /> 1 - Utiliser un UpdatePanel (suppression de JQuery appel). Avec cette solution vous permet de gérer votre contrôle à partir de la méthode comme vous le faites dans une publication scénario. 2 - Injecter le résultat de la méthode web dans le balisage existant.
Merci!!!! Je vais essayer 😉
Juste une question: savez - vous la meilleure façon d'appeler des méthodes dans CS fichier JS à travers UpdatePanel? Comment puis-je utiliser des déclencheurs lorsque controlID est dans le contrôle de lui-même? Exemple: l'Utilisateur clique sur un lien et ce lien doit faire une publication partielle avec quelques arguments... Comment dois-je faire à partir de JS? Bref: l'utilisateur de faire quelque chose - js fonctionne de la magie et de la poste (ajax) chaneges (des arguments) à un serveur updatePanel - comment faire du js? Merci encore une fois...
Une fois que vous avez placé les commandes dont vous avez besoin pour mettre à jour de manière asynchrone dans un ou plusieurs UpdatePanels, vous n'avez pas besoin de JS fonctions d'appeler directement les méthodes. Vous pouvez simplement attribuer un Gestionnaire d'événements, comme vous le feriez normalement, et le cadre fera le reste. Vous pouvez trouver un assez simple tutoriel ici: asp.net/learn/ajax/tutorial-01-cs.aspx
OriginalL'auteur mamoo