【发布时间】:2010-03-24 12:24:14
【问题描述】:
您好,我有一个包含一些 JavaScript 的用户控件,如果我将控件添加到标准网页,我可以在 body 标记中启动 JavaScript,就像这样
<body onLoad="Start()">
问题是我需要将控件添加到母版页内的网页中,当母版页内的页面没有正文标记时,我该如何启动脚本。
【问题讨论】:
标签: asp.net javascript master-pages
您好,我有一个包含一些 JavaScript 的用户控件,如果我将控件添加到标准网页,我可以在 body 标记中启动 JavaScript,就像这样
<body onLoad="Start()">
问题是我需要将控件添加到母版页内的网页中,当母版页内的页面没有正文标记时,我该如何启动脚本。
【问题讨论】:
标签: asp.net javascript master-pages
您可以使用以下方式注册它:
Page.ClientScript.RegisterStartupScript()
你的情况是这样的:
Page.ClientScript.RegisterStartupScript(GetType(), "MyScript", "Start()", true);
【讨论】:
包含 jQuery 并将您的初始化代码放入 $(document).ready()。
如果您想严格使用 .NET 功能,并且您的页面用runat="server" 正确标记,您也可以使用Page.ClientScript.RegisterStartupScript()。
【讨论】:
你可以把body标签改成runat server并给它一个id。
<body id="masterBody" runat="server">
然后在页面加载时:
public void Page_Load(Object sender, EventArgs e)
{
HtmlGenericControl body = (HtmlGenericControl)Master.FindControl("masterBody");
body.Attributes.Add("onload", "Start()");
}
【讨论】:
在文档完成渲染后尝试绑定到 DOM document.ready 事件以加载您的内容
【讨论】: