Führen Sie javascript-code hinter
Ich weiß, dass es eine Menge von Frage, wie dieser. Habe viel versucht, aber kann immer noch nicht machen es zu arbeiten.
Habe ich: RadAjaxManager
, RadAjaxPanel
, RadScriptBlock
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"
DefaultLoadingPanelID="RadAjaxLoadingPanel1">
<ClientEvents OnRequestStart="onRequestStart" />
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="AjaxPanel">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="AjaxPanel"/>
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManager>
<telerik:RadAjaxPanel runat="server" ID="AjaxPanel" Wrap="True" CssClass="PanelAjax">
<telerik:RadComboBox runat="server" ID="cbLanguage" Width="115px"
AutoPostBack="True"Sort="Ascending" EmptyMessage="Choose language"
DataValueField="id" DataTextField="languageName"
OnSelectedIndexChanged="cbLanguage_SelectedIndexChanged">
</telerik:RadComboBox>
</telerik:RadAjaxPanel>
<telerik:RadScriptBlock ID="RadScriptBlock1" runat="server">
<script>
function MyFunction(){
alert('asdasd');
}
</script>
</telerik:RadScriptBlock>
</asp:Content>
In Master Page
ich habe:
<telerik:RadScriptManager ID="ScriptManager1" runat="server">
</telerik:RadScriptManager>
Möchte ich laufen Meinefunktion() auf combo box selected index change
.
Habe ich bereits versucht:
protected void cbLanguage_SelectedIndexChanged(object sender, EventArgs e)
{
Page.ClientScript.RegisterStartupScript(Page.GetType(), "myKey", "MyFunction();");
ScriptManager.RegisterStartupScript(Page, this.GetType(), "testOne", "MyFunction();", true);
}
Auch habe ich versucht, nur um Feuer-Alarm direkt:
ScriptManager.RegisterStartupScript(Page, GetType(), "alert", "alert('asd');", false);
RadAjaxManager1.ResponseScripts.Add(@"radalert('Welcome to RadWindow <b>Prometheus</b>!', 330, 210);");
string treeScript = "<script language='javascript'>alert('asd');</script>";
Page.ClientScript.RegisterStartupScript(this.GetType(), "alert", treeScript);
RadAjaxManager1.ResponseScripts.Add(@"alert('Welcome');");
Könnte jemand mir erklären, was ich falsch mache?
Gibt es keine Fehler.
Nur javascript-code wird nicht ausgeführt. Ich habe alert()
Fenster auf meinem Bildschirm.
- Warum ist es
1:
und2:
vor die Zeilen in der code-behind-Funktion? - nur aufzählen was ich schon versucht. es gibt keine '1:' und '2:' in den code
- Sie sollten zu entfernen, die von Ihrem code-snippet. Es ist sehr irreführend.
- Btw, du hast nicht erwähnt, was funktioniert eigentlich nicht mit dem Skript. Sie haben einen Fehler beim kompilieren, zur Laufzeit? Sie erhalten einen JavaScript-Fehler? Hat Ihr JavaScript angezeigt, in der der source code überhaupt? etc. etc.
- Keine Fehler, nur alert() Popup nicht angezeigt
- Aber der JavaScript scheint in Ihrem code?
- Gute Frage, eigentlich ist es nicht. Zum Beispiel
ScriptManager.RegisterStartupScript(this, GetType(), "alert", "alert('asd');", false);
NachcbLanguage_SelectedIndexChanged
ausgeführt wird, gibt es keinealert('asd');
im html-Quelltext der Seite
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollte man sich ein syntax-Fehler im javascript! Sie haben einen Tippfehler in Ihrer Erklärung.
Sie schrieb:
Aber es muss sein:
function MyFunction() { alert("it works!");}