2009-08-26 3 views
0

J'ai un modalpopup AJAX que je voudrais lancer lors du chargement d'une page. À l'heure actuelle, je suit dans mon Page_Load:Lancement de la fenêtre contextuelle modale sur le chargement du corps

HtmlGenericControl myBody = (HtmlGenericControl)Master.FindControl("thebody"); 
myBody.Attributes.Add("onload", "openMP();") 

Cette fonction injectent avec succès la onload (je peux dire en regardant la source). Cependant, la fonction de chargement ne semble jamais fonctionner. Tout conseil serait utile. Merci.

* Modifications question suivante *

code correspondant à la page principale:

<asp:LoginView ID="LoginView1" runat="server"> 
      <LoggedInTemplate> 
      <a href="logout.aspx"> 

code correspondant à la page de l'enfant:

if (!Page.IsPostBack) 
    { 
     Page.ClientScript.RegisterStartupScript(this.GetType(), "MyScript", "openMP();", true); 
     Response.Write("Test"); 
    } 

Répondre

1

Vous voudrez peut-être regarder ClientScript.RegisterStartupScript. Voici un exemple de la façon dont vous pouvez la mettre en œuvre:

Page.ClientScript.RegisterStartupScript(this.GetType(), "MyScript", 
    "openMP();", true); 

Dans l'événement Page_Load, ce serait le feu chaque fois que la page est chargée.

EDIT: Par souci de clarté, voici un exemple de ce dont je parle dans mon commentaire:

page ASPX code-behind:

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!Page.IsPostBack) 
     Page.ClientScript.RegisterStartupScript(this.GetType(), "MyScript", 
      "openMP();", true); 
} 

ASPX Page:

<Form ID="Form1"> 
. 
. 
. 
</Form> 
<Script Language="javascript"> 
    function openMP() { 
     ... 
    } 
</Script> 
+0

Je l'ai mis dans mon événement Page_Load, et la page semble se rafraichir continuellement (je ne vois jamais le popup modal, juste le rechargement de page primaire encore et encore). Une idée de pourquoi cela pourrait être? Merci de votre aide. –

+0

Je suppose que votre fonction openMP effectue une publication? Si c'est le cas, cela vous obligerait à rester coincé dans une boucle infinie. Vous pouvez conditionner le RegisterStartupScript pour éviter cela. – CAbbott

+0

Ce qui suit se trouve dans openMP: document.getElementById ("ctl00_LoginView1_Button1"). Click(); (Le bouton 1 est le bouton cible qui lance le modalpopup.) Comment puis-je éviter la boucle infinie? Merci. –

Questions connexes