问题
In ASP.NET C#, I want to show an ALERT('HI') from codebehind of a UserControl but doesn't work:
User Control:
<asp:UpdatePanel ID="updatepanel" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClick="btnSubmit_Click();"/>
</ContentTemplate>
</asp:UpdatePanel>
ASP.NET Page
protected void btnSubmit_Click(object sender, EventArgs e)
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "s1", "javascript:alert('hi!')", true);
}
UPDATE:
Forgot to say that the ASP.NET page itself is pop-out window by "prettyPhoto".
回答1:
there may be below possible reasons try to change these and check it works or not
1). ScriptManager.RegisterStartupScript(this, this.GetType(), "msg", "alert('hi!')", true);//no need to use javascript with alert when bool set to true
2). ScriptManager.RegisterStartupScript(page, page.GetType(), "msg", "alert('hi!')", true);
3). ClientScript.RegisterClientScriptBlock(GetType(), "sas", "<script> alert('hi!');</script>", true);
来源:https://stackoverflow.com/questions/25176493/how-to-fire-js-from-code-behind-of-a-usercontrol-by-an-event