0

我正在尝试从母版页调用 javascript 警报,在那里我有一个更新面板。在其中一个按钮和一个文本框。

我需要在单击母版页中的按钮时调用警报。到目前为止,它似乎不起作用。请帮忙。

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

这是我在按钮点击中写的。invokerMEMaster 仅包含一条警报消息。我需要在单击警报的确定按钮时重新加载页面。我该怎么做呢?

4

4 回答 4

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>
于 2011-07-20T10:18:00.340 回答
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”功能。

于 2011-07-21T20:44:51.553 回答
0

您需要一个ScriptManagerProxy,其中 ScriptManager 位于您的内容页面中

于 2011-07-20T10:13:36.783 回答
0

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

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

ScriptManager.RegisterClientScriptBlock(Page,typeof(string),"JavaScriptCall",script.ToString(), false);
于 2011-07-20T10:13:57.390 回答