aufgerufenen Hinweise, warum das Button-Klick-Ereignis Skript nicht erfolgreich einfügen?Javascript eingefügt wird nicht angezeigt, wenn von updatepanel Ereignis
Hier ist der wirklich unkomplizierte Code.
C#:
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e){
ClientScript.RegisterStartupScript(Page.GetType(), "scriptalert", "<script type=\"text/javascript\">alert('testLOAD');</script>;", false);
btnAdd.Click += new EventHandler(btnAdd_Clicked);
}
protected void btnAdd_Clicked(Object sender,System.EventArgs e){
ClientScript.RegisterStartupScript(Page.GetType(), "scriptfunc", "<script type=\"text/javascript\">func();</script>;", false);
}
}
HTML:
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
<script type="text/javascript">
alert("testSCRIPT");
function func() {
alert("testFUNC");
}
</script>
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<asp:ScriptManager ID="ToolkitScriptManager1" runat="server" />
<div id="View" style="height: 50%; width:20%; ">
blahblahblah
</div>
<div id="Addd" style="height: 50%; width:100%;">
<asp:UpdatePanel ID="UpdateAdd" runat="server">
<ContentTemplate>
<asp:Button ID="btnAdd" runat="server" Text="Add" />
</ContentTemplate>
</asp:UpdatePanel>
</div>
</asp:Content>
Auf Seite Last ich zwei Warnungen Brennen, nämlich "testload" und "Testscript", aber wenn ich die Taste Knopf nichts passiert (es soll eine dritte Warnung geben) ... Eingecheckt im Debugger, wird das Ereignis aufgerufen und ausgeführt, aber wenn ich die Seitenquelle anschaue, wurde nichts eingefügt.
Ich habe den Verdacht, dass das Problem an anderer Stelle liegen könnte, da das Kopieren in eine neue Seite ohne eine Masterseite (d. H. Ohne ASP: Content-Tags) funktioniert. Ich hatte jedoch keine Probleme mit anderen Script-Einfügungen, also warum diese?
Ich habe eine andere Seite, wo dies in einem Update-Panel gut funktioniert. Versuchte diesen Code, es sagt 'RegisterStartupScript' kann nicht von einer Instanz aufgerufen werden, ich denke, es ist eine statische Methode. die Verwendung von 'ScriptManager' anstelle von 'ClientScript' behebt das Problem ebenfalls nicht. – Oofpez