PageMethods n'est pas défini
Je suis en train d'ouvrir PageMethods accéder au serveur de code côté à l'aide de javascript. Je reçois le message d'erreur "PageMethods n'est pas défini" quand je de débogage à l'aide de firebug. du côté serveur, le code n'est pas d'être congédié.
J'ai configurer mon gestionnaire de script "EnablePageMethods" à true. Ma méthode est publique & statique et il a l'attribut WebMethod mis en place ainsi. Je m de la réception de l'erreur ci-dessus. Peut-être parce que le gestionnaire de script étant dans une maîtrise de haut niveau page qui a deux enfants de pages maîtres et puis, ma page s'appelle:
c'est à dire
Principal de la Page Maître (avec le gestionnaire de script) -> maître Principal de la page -> maître Secondaire page -> Ma page -> Mes de contrôle de l'Utilisateur (ayant le WebMethod)
Est-il possible que la hiérarchie est à l'origine de ce problème?
C'est le webmethod
[System.Web.Services.WebMethod]
public static void AddNote(string t)
{
int propid = 1;
if (propid > 0)
{
//Call my method
}
}
c'est mon code javascript:
function editNodes(t) {
alert('test1');
alert(t);
PageMethods.AddNote(t,OnSuccess,OnFailure);
alert('method called');
}
function OnSuccess() {
alert('Success');
if (!navigator.appName == 'Microsoft Internet Explorer') {
window.location.href = window.location.href;
}
}
function OnFailure(error) {
alert('Error:' + error);
}
c'est là que je l'appelle:
<a href="#" class="btngeneral" onclick="javascript:editNodes(2);">Save</a>
ajouté le code. Veuillez vérifier
Assurez-vous que le gestionnaire de script tag est dans la partie supérieure de la page, dans votre cas, la page maître.
PageMethods vs UpdatePanels
OriginalL'auteur ria | 2011-04-28
Vous devez vous connecter pour publier un commentaire.
Page Méthodes ne fonctionnent pas dans les Master Pages ou des Commandes de l'Utilisateur.
Si vous déplacez la méthode au niveau de la page, il devrait fonctionner.
N'a jamais vraiment été en mesure d'obtenir une réponse définitive sur ce point.
Je soupçonne que cela a voir avec le fait que les pages aspx hériter de la classe de la Page et le ascx contrôles hériter de la classe UserControl. Pourquoi des que je ne suis pas trop sûr.
Personnellement, je voudrais utiliser un générique gestionnaire (.ashx) de la page et l'appeler à l'aide de javascript.
OriginalL'auteur heads5150
ensemble EnablePageMethods="true"
j'espère que cela fonctionnera pour vous
Un peu vieux post, mais je voulais dire de toute façon. J'ai activé
EnablePageMethods="true"
dans mon<asp:ScriptManager...
code sur ma page principale et a parfaitement fonctionnéOriginalL'auteur BrainCoder
Comme je le comprends, PageMethods sur usercontrol n'est pas pris en charge et les fils ci-dessous semblent confirmer que
http://forums.asp.net/p/977525/1242935.aspx
ASP.NET Page AJAX Méthodes de UserControl
Mais je pense qu'il pourrait être une solution (je ne sais pas si c'est efficace dans votre scénario). Vous pouvez écrire un OneLine PageMethod dans le code de la page de derrière qui serait stagiaire appel de la Page de Contrôle de la méthode. Maintenant, vous pouvez appeler votre page méthode d'aspx et tous ensemble pour aller.
Ou vous pouvez utiliser sat alternative
Autre façon d'utiliser la page méthode de contrôle de l'utilisateur asp.net
OriginalL'auteur Subhash Dike