如何从母版页调用 javascript?
Posted
技术标签:
【中文标题】如何从母版页调用 javascript?【英文标题】:How to call a javascript from master page? 【发布时间】:2011-07-20 10:09:36 【问题描述】:我正在尝试从母版页调用 javascript 警报,其中我有一个更新面板。里面有一个按钮和一个文本框。
我需要在单击母版页中的按钮时调用警报。到目前为止,它似乎不起作用。请帮忙。
Page.ClientScript.RegisterStartupScript
(this.GetType(), "alert", "invokeMeMaster();", true);
这是我在按钮点击中写的。 invokerMEMaster 仅包含一条警报消息。我需要在单击警报的确定按钮时重新加载页面。我该怎么做呢?
【问题讨论】:
你能贴出不起作用的代码吗? 【参考方案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>
【讨论】:
我需要从代码后面添加警报消息...如果我在源页面中使用它,我应该如何调用我的脚本?【参考方案2】:您需要一个ScriptManagerProxy,ScriptManager 位于您的内容页面中
【讨论】:
【参考方案3】:如果我能猜到您的问题(心理调试):当更新面板更新时,javascript 不会在您的页面上呈现或触发。
尝试在更新面板中注册您的 javascript:
ScriptManager.RegisterClientScriptBlock(Page,typeof(string),"JavaScriptCall",script.ToString(), false);
【讨论】:
【参考方案4】:如果我正确理解您的问题,您的内容页面中有一个需要从母版页调用的 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”功能。
【讨论】:
以上是关于如何从母版页调用 javascript?的主要内容,如果未能解决你的问题,请参考以下文章