2009-08-26 4 views
0

У меня есть modalpopup AJAX, который я хотел бы запускать при загрузке страницы. В настоящее время у меня есть следующие в моем Page_Load:Запуск модального всплывающего окна на кузове onload

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

Это успешно внедряет функцию OnLoad (я могу сказать, глядя на источник). Однако функция onload никогда не срабатывает. Любые советы будут полезны. Благодарю.

* Изменения следующий вопрос *

Соответствующий код в главной странице:

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

Соответствующий код в детской странице:

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

ответ

1

Вы можете посмотреть на ClientScript.RegisterStartupScript. Вот пример того, как можно реализовать:

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

В случае Page_Load, это будет стрелять каждый раз, когда страница загружена.

EDIT: Ради ясности, вот пример того, что я говорил в мой комментарий:

ASPX страницы Код-за:

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

ASPX страницы:

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

Я поместил это в свое событие Page_Load, и страница, кажется, постоянно обновляется (я никогда не вижу модальное всплывающее окно, просто перезагрузка главной страницы снова и снова). Любая идея, почему это может быть? Спасибо за вашу помощь. – 2009-08-26 16:14:25

+0

Я предполагаю, что ваша функция openMP выполняет обратную передачу? Если это так, это заставит вас застревать в бесконечном цикле. Чтобы избежать этого, вы можете условно настроить RegisterStartupScript. – CAbbott

+0

В openMP: document.getElementById ("ctl00_LoginView1_Button1"). Click(); (Кнопка 1 является целевой кнопкой, которая запускает modalpopup.) Как я могу избежать бесконечного цикла? Благодарю. – 2009-08-26 16:33:57

Смежные вопросы