如何从母版页调用javascript?

时间:2011-07-20 10:09:36

标签: c# javascript asp.net master-pages alerts

我正在尝试从主页面调用javascript警报,我在其中获得了更新面板。在那个按钮和一个文本框中。

我需要在点击主页面中的按钮时调用警报。到目前为止似乎没有用。请帮忙。

 Page.ClientScript.RegisterStartupScript
                        (this.GetType(), "alert", "invokeMeMaster();", true);

这是我在按钮点击中写的内容。 invokerMEMaster只包含一条警报消息。我需要在单击警报的ok按钮上重新加载页面。我怎么能这样做?

4 个答案:

答案 0 :(得分:1)

更新面板在回发时清除javascript代码,因此请尝试将此代码放在标题上。

<script type="text/javascript">

$(document).ready(
function(){

   Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler); 
   function EndRequestHandler(sender, args) {//put your code here}

});

</script>

答案 1 :(得分:0)

您需要ScriptManagerProxy,ScriptManager位于您的内容页面

答案 2 :(得分:0)

如果我可能猜到你的问题(通灵调试):当更新面板更新时,javascript不会在你的页面上被触发。

尝试在更新面板中注册您的javascript:

ScriptManager.RegisterClientScriptBlock(Page,typeof(string),"JavaScriptCall",script.ToString(), false);

答案 3 :(得分:0)

如果我正确理解你的问题,你在内容页面中有一个需要从母版页调用的JS函数吗?

我要做的是在母版页中添加隐藏的输入控件和警报功能:

    <input runat="server" id="hdnAlert" name="Alert" type="hidden" />

    <script type="text/javascript"  language="javascript">  
        function AlertMe(){ alert(document.getElementByID("hdnAlert").value); }
    </script>

然后,您可以从内容页面更改输入控件的值:

    HtmlInputHidden hdnTemp = new HtmlInputHidden();
    hdnTemp = (HtmlInputHidden)Master.FindControl("hdnAlert");
    hdnTemp.Value = "Message To Alert";

然后只需让母版页中的按钮调用母版页中的“AlertMe”功能。