Je dois exécuter une fonction JavaScript onLoad (), mais ne le faites que si la page a été chargée la première fois (c’est-à-dire qu’elle ne résulte pas d’une publication).
En gros, je dois vérifier IsPostBack en JavaScript.
Merci.
Je dois exécuter une fonction JavaScript onLoad (), mais ne le faites que si la page a été chargée la première fois (c’est-à-dire qu’elle ne résulte pas d’une publication).
En gros, je dois vérifier IsPostBack en JavaScript.
Merci.
Côté serveur, écrivez:
if(IsPostBack)
{
// NOTE: the following uses an overload of RegisterClientScriptBlock()
// that will surround our string with the needed script tags
ClientScript.RegisterClientScriptBlock(GetType(), "IsPostBack", "var isPostBack = true;", true);
}
Ensuite, dans votre script qui s'exécute pour le onLoad, vérifiez l'existence de cette variable:
if(isPostBack) {
// do your thing
}
Vous n'avez pas vraiment besoin de définir la variable autrement, comme la solution de Jonathan. L'instruction if côté client fonctionnera correctement car la variable "isPostBack" sera indéfinie, ce qui donne la valeur false dans cette instruction if.
La solution ne fonctionnait pas pour moi, je devais l'adapter:
protected void Page_Load(object sender, EventArgs e)
{
string script;
if (IsPostBack)
{
script = "var isPostBack = true;";
}
else
{
script = "var isPostBack = false;";
}
Page.ClientScript.RegisterStartupScript(GetType(), "IsPostBack", script, true);
}
J'espère que cela t'aides.
Vous pouvez mettre une entrée masquée sur la page et, après le chargement de la page, lui attribuer une valeur. Ensuite, vous pouvez vérifier ce champ. S'il était dans les données de publication, il s'agit d'une publication, sinon ce n'est pas le cas.
Deux solutions utilisant le code côté serveur (spécifique à ASP.NET) ont été envoyées en tant que réponses. Je pense qu'il convient de souligner que cette solution est agnostique sur le plan technologique, car elle utilise uniquement les fonctionnalités côté client, disponibles dans tous les principaux navigateurs.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.