【问题标题】:Start javascript from asp.net page从 asp.net 页面启动 javascript
【发布时间】:2010-03-24 12:24:14
【问题描述】:

您好,我有一个包含一些 JavaScript 的用户控件,如果我将控件添加到标准网页,我可以在 body 标记中启动 JavaScript,就像这样

<body onLoad="Start()">

问题是我需要将控件添加到母版页内的网页中,当母版页内的页面没有正文标记时,我该如何启动脚本。

【问题讨论】:

    标签: asp.net javascript master-pages


    【解决方案1】:

    您可以使用以下方式注册它:

    Page.ClientScript.RegisterStartupScript()
    

    你的情况是这样的:

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

    【讨论】:

      【解决方案2】:

      包含 jQuery 并将您的初始化代码放入 $(document).ready()

      如果您想严格使用 .NET 功能,并且您的页面用runat="server" 正确标记,您也可以使用Page.ClientScript.RegisterStartupScript()

      【讨论】:

        【解决方案3】:

        你可以把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()");
        }
        

        【讨论】:

          【解决方案4】:

          在文档完成渲染后尝试绑定到 DOM document.ready 事件以加载您的内容

          【讨论】:

            猜你喜欢
            • 2011-08-11
            • 2011-12-02
            • 2013-06-10
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2010-10-29
            相关资源
            最近更新 更多