c#scriptmanager脚本将与其他脚本一起调用 断然的! 在asp:按钮上使用OnClientClick=“window.parent.close()”而不是关闭窗口脚本,我将其过度复杂化。
我在aspx页面上有下面两个脚本。但是,当asp:按钮调用“closeWindow”时,它会显示“Email Sent”消息,但之后会关闭窗口c#scriptmanager脚本将与其他脚本一起调用 断然的! 在asp:按钮上使用OnClientClick=“window.parent.close()”而不是关闭窗口脚本,我将其过度复杂化。,c#,asp.net,C#,Asp.net,我在aspx页面上有下面两个脚本。但是,当asp:按钮调用“closeWindow”时,它会显示“Email Sent”消息,但之后会关闭窗口 <asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent"> <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:Button runat="server" Text="Close Window" id="closewindowbutton" onclick="closewindowbutton_Click" class="btn" />
</asp:Content>
protected void closewindowbutton_Click(object sender, System.EventArgs e)
{
Page page = HttpContext.Current.CurrentHandler as Page;
if (page != null && !page.ClientScript.IsClientScriptBlockRegistered("closeWindow"))
{
ScriptManager.RegisterStartupScript(page, typeof(Page), "closeWindow", "window.close();", true);
// ClientScript.RegisterStartupScript(typeof(Page), "closeWindow", "window.close();", true);
}
}
public static void ShowAlert(string message)
{
string cleanMessage = message.Replace("'", "\'");
Page page = HttpContext.Current.CurrentHandler as Page;
string script = string.Format("alert('{0}');", cleanMessage);
if (page != null && !page.ClientScript.IsClientScriptBlockRegistered("alert"))
{
ScriptManager.RegisterStartupScript(page, typeof(Page), "alert", script, true);
}
return;
}
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
我无法复制,您能再显示一些代码吗?您使用的是单个页面还是全部。aspx页面是母版的一部分?在上面添加了一些代码,它们是母版的一部分如果您不介意我问,为什么在页面加载时调用ShowAlert?你看,当你点击按钮时,它会创建一个回发,在每个回发页面上,加载方法会触发ShowAlert(“已发送电子邮件!”);被召唤!现在,如果您添加另一个按钮并单击它,我打赌您会显示警报(“已发送电子邮件!”);我会再打电话给你。您应该删除ShowAlert(“已发送电子邮件!”);从Page_Load,但请告诉我为什么它在那里,以便我们可以找到替代方案?它在加载页面时发送电子邮件(我已删除发送邮件代码),然后需要自动显示“email sent”消息,但我不明白为什么两个脚本一起调用,每个脚本是否需要单独的脚本管理器?我刚刚更新了下面的答案。。。看看这是否有用!
protected void Page_Load(object sender, System.EventArgs e)
{
ShowAlert("Email Sent!");
}