ASP.NET: RegisterStartupScript funktioniert nicht
Ich versuche, führen Sie eine client-seitige Skript von der server-Seite auf Page_Load, fand ich diesen code aus hier.
Es ist server-side-code:
protected void Page_Load(object sender, EventArgs e)
{
if (!ClientScript.IsStartupScriptRegistered("alert"))
{
Page.ClientScript.RegisterStartupScript(this.GetType(),
"alert", "alertMe();", true);
}
}
Und es ist client-side-code:
<script type="text/javascript">
function alertMe() {
alert('Hello');
}
</script>
Aber es passiert nichts auf Page_Load.
UPDATE: source-code -coderun.
- Wo haben Sie script-block mit definition von alertMe-Funktion zu verwenden?
- es ist in .aspx-Datei
- Ja, ich sein sollte, ist es im Kopf, vor dem schließenden body-tag oder nach dem body-End-tag?
- es ist im body-tag vor dem schließenden tag.
- Es sollte gearbeitet haben, dann versuchen Sie, im head-tag, oder versuchen Sie die Funktion aufrufen, die nach Ihrer definition alertMe-Funktion() { alert('Hallo'); } alertMe()
- Dein code funktioniert - ich habe es gerade ausprobiert jetzt
- Ja, wenn ich es in den head-tag funktioniert es. Schreibe es als Antwort dann werde ich es markieren. Dank
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den Sie anrufen, Ihre
alertMe()
bevor es definiert ist, am Ende der Seite.Alle Skripte eingetragen asp.net sind Leistungen im form-tag.
Ich schlage vor, Sie bewegen Ihre javascript-block in den head der Seite.
Hier ist Ihre modifizierten code ausführen, die funktioniert wie Sie es erwarten.
Ich schlage vor, Sie prüfen, zwei Dinge
Ist Ihr js-Funktion nicht in einer anderen Funktion. Dann ist es nicht sichtbar für den server
Html-tag enthalten, hat Ihr Skript die
runat="server"
tag.In Ihrem Fall: