L'appel d'une fonction javascript à partir de Page_Load dans le code-behind
Comment puis-je appeler une fonction javascript, qui est dans la page aspx, à partir de la méthode Page_Load, dans le code-behind?
si vous avez une autre question, quoique similaire, à poser une nouvelle question, plutôt que de brouiller les cartes munging plusieurs questions =) Pour ce que ça vaut, il y a probablement assez d'informations dans cette questions réponses pour vous en sortir vous-même après avoir un peu d'essais et d'erreurs 😉
OriginalL'auteur scatman | 2010-04-20
Vous devez vous connecter pour publier un commentaire.
Le plus simple est d'utiliser la page de ClientScript de la propriété. Vous pouvez enregistrer un peu de code à exécuter lorsque le chargement de la page en utilisant quelque chose comme
Voir http://msdn.microsoft.com/en-us/library/asz8zsxy.aspx pour plus d'info.
Il devrait être disponible à partir d'un enfant de contrôle par virement de bord "de la Page." sur le début du code ci-dessus.
OriginalL'auteur cHao
La réponse est simple, vous ne pouvez pas. Le code dans la méthode Page_Load s'exécute sur le serveur, javascript s'exécute sur le client.
Si ce que vous voulez faire est d'ajouter un appel à une méthode javascript, dans le Page_Load de sorte qu'une fois que la page est chargée par le navigateur, le javascript s'exécute, vous pouvez utiliser le ScriptManager:
Pour l'utiliser, vous devez disposer d'un
<asp:ScriptManager>
élément dans votre balisage pour qu'il utilise (si ma mémoire est bonne, une exception sera levée si vous n'en avez pas). Le texte "CallMyMethod" est utilisé par le ScriptManager pour identifier de manière unique le script qu'il injecte pour vous, et le texte "myMethod();" est intégré, de sorte que vous finirez avec un autre élément de script dans votre page similaire à ceci:OriginalL'auteur Rob
Pourquoi voudriez-vous faire cela?
Quel est le but?
De toute façon vous pouvez effectuer les opérations suivantes, mais je NE le recommande PAS!!! :
Pouvez-vous fournir avec plus d'informations de ce que vous voulez atteindre pour obtenir une meilleure réponse..
OriginalL'auteur Ekaterina
Shide la solution fonctionne. Le problème est que si vous voulez exécuter votre morceau de code que sur la publication, par exemple. La solution que j'ai trouvé est d'utiliser un "cookie": - je vérifier si le cookie x existe, si ce n'est pas que je exécuter le code javascript et de définir le cookie. Lorsque vous cliquer sur "actualiser", le cookie sera a donc trouvé le morceau de code ne s'exécute pas.
Tout code que vous devez exécuter à chaque fois il suffit de laisser de l'instruction if.
OriginalL'auteur Susana Francisco
Vous devez utiliser le Registre de Script client:
MSDN
CodeProject
Je le fais dans une Page de la méthode de Chargement:
mais je ne pense pas qu'il est recommandé
Je veux dire... vous pouvez le faire, et ça marchera. Mais pour moi, la seule bonne raison de l'insertion d'un script à partir de asp.net la page est d'obtenir certains côté client dispose de contrôles serveur.
Ainsi, par exemple, pour obtenir une instance de contrôle:
Mais l'écriture ensemble de fonctions javascript et de la logique côté serveur n'est pas à l'aise quand vous devez le modifier ou de le déboguer (pour moi c'est une chaîne codée en dur).
OriginalL'auteur Jarek
Si vous voulez juste pour appeler une fonction JavaScript ( et n'ont pas besoin de passer quelque chose à partir du code-behind, puis de les utiliser...)
document.readyState = function () { votre fonction(); }
... en fonction de vos besoins spécifiques.
Espérons que cela fait sens pour vous & réponses à votre question.
OriginalL'auteur ablaze
c'est un petit truc que j'ai trouvé moi-même sans avoir de code côté serveur .
cette fonction sera appelée lors du chargement de la page (peut être utilisé avec un panneau de mise à jour) :
il est inconnu et qui pourtant fonctionne comme un charme
OriginalL'auteur Sebastien H.
S'il vous plaît essayez ce code:
OriginalL'auteur Lijo