Comment puis-je appeler une fonction javascript à partir de l'intérieur d'une méthode?
Je suis à l'intérieur de...
public class bgchange : IMapServerDropDownBoxAction
{
void IServerAction.ServerAction(ToolbarItemInfo info)
{
Some code...
et après le "code" je veux déclencher
[WebMethod]
public static void DoSome()
{
}
Qui déclenche un peu de javascript. Est-ce possible?
Ok, changez de méthode ici. J'ai été en mesure d'appeler dosome(); qui a tiré, mais ne déclenche pas le javascript. J'ai essayé d'utiliser la méthode registerstartupscript mais ne comprenez pas comment la mettre en œuvre. Voici ce que j'ai essayé:
public class bgchange : IMapServerDropDownBoxAction
{
void IServerAction.ServerAction(ToolbarItemInfo info)
{
...my C# code to perform on dropdown selection...
//now I want to trigger some javascript...
//Define the name and type of the client scripts on the page.
String csname1 = "PopupScript";
Type cstype = this.GetType();
//Get a ClientScriptManager reference from the Page class.
ClientScriptManager cs = Page.ClientScript;
//Check to see if the startup script is already registered.
if (!cs.IsStartupScriptRegistered(cstype, csname1))
{
String cstext1 = "alert('Hello World');";
cs.RegisterStartupScript(cstype, csname1, cstext1, true);
}
}
}
J'ai eu le registerstartupscript code à partir d'un msdn exemple. Clairement, je ne suis pas de la mettre en œuvre correctement. Actuellement vs dit "Une référence d'objet est requise pour la non-statique champ, une méthode ou une propriété du Système".Web.L'INTERFACE utilisateur.Page.ClientScript.se", qui fait référence à la feuille de code de la Page".Clientscript;" Merci.
Qu'entendez-vous par DoSome() "déclenchement JavaScript"?
OriginalL'auteur mrjrdnthms | 2008-09-30
Vous devez vous connecter pour publier un commentaire.
Je ne suis pas sûr de comprendre pleinement la séquence de ce que vous essayez de faire, ce qui est côté client et ce qui ne l'est pas....
Cependant, vous pouvez ajouter une Start-up de la méthode javascript de la page qui s'appelait alors le WebMethod. Lors de l'appel de WebMethod via javascript, vous pouvez ajouter une fonction de rappel qui sera appelée lorsque le WebMethod retourne.
Si vous ajoutez une balise ScriptManager sur votre page, vous pouvez appeler WebMethods défini dans la page à l'aide de Javascript.
De la fonction Page_Load vous pouvez ajouter un appel à votre WebMethod..
Callback_Function représente une fonction javascript qui sera exécuté après le WebMethod est appelé...
EDIT:
Trouvé ce lien pour Web ADF contrôles. Est-ce que vous utilisez??
De la page, il ressemble à quelque chose comme cela va faire un javascript de rappel.
L'alerte incendie après le WebMethod a été appelé. Dans cet exemple, la séquence irait PageLoad (serveur) -> PageMethods appel (javascript) -> DoSome WebMethod (serveur) -> Callback_Function (javascript).
Vous êtes génial! Web ADF contrôles est exactement ce que je suis et à l'aide de votre code a fonctionné comme un charme. Vous êtes allé au-dessus et au-delà. J'aime débordement de pile à cause de gens comme vous!
OriginalL'auteur Scott Nichols
Si ce qui précède est comment vous appelez RegisterStartupScript, il ne fonctionnera pas parce que vous ne disposez pas d'une référence à la "Page" de l'objet.
bgchange dans votre exemple, s'étend de l'Objet (en supposant que IMapServerDropDownBoxAction est une interface), ce qui signifie qu'il n'existe pas de Page d'exemple pour vous référencer.
Ce que vous avez fait exactement la même chose à partir d'un Asp.Net Page ou UserControl, il travail, parce que la Page serait une référence valide.
OriginalL'auteur Scott Nichols
Vous ne pouvez pas l'appel de méthodes à l'intérieur d'un navigateur, directement à partir du serveur. Vous pouvez toutefois ajouter des fonctions javascript pour la réponse qui va exécuter les méthodes dans le navigateur.
Dans le ServerAction méthode, procédez de la manière suivante
Plus d'info ici
Ouais quand je l'ai mis en il souligne que l'ensemble de la Page.RegisterStartupScript ligne et dit: "Une référence d'objet est requise pour la non-statique champ, une méthode ou une propriété du Système".Web.L'INTERFACE utilisateur.Page.RegisterStartupScript'...
OriginalL'auteur Will
hmmm... la question a changé de façon spectaculaire depuis ma réponse originale à cette question.
Maintenant, je pense que la réponse est non. Mais j'ai peut-être tort.
OriginalL'auteur