在body onload上启动模式弹出窗口

时间:2009-08-26 15:53:23

标签: asp.net javascript ajax

我有一个AJAX modalpopup,我想在页面加载时启动它。目前,我在Page_Load中有以下内容:

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 个答案:

答案 0 :(得分:1)

您可能需要查看ClientScript.RegisterStartupScript。以下是如何实现它的示例:

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

在Page_Load事件中,每次加载页面时都会触发。

编辑:为了清楚起见,这里是我在评论中谈论的一个例子:

ASPX Page Code-behind:

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>