我有一个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");
}
答案 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>