2010-05-17 20 views
12

Saluti, come posso scrivere il codice JavaScript in asp.net nel codice dietro usando C#. Per esempio, devo cliccare evento pulsante quando si fa clic sul pulsante che voglio richiamare questo codice java script:come scrivere javascript in asp.net nel codice dietro usando C#

alert("You pressed Me!"); 

voglio sapere come utilizzare lo script Java da codice dietro.

Grazie;

+0

io consiglierei di guardare in utilizzando le librerie jQuery invece di puro Javascript. –

+2

@David. Gli stessi principi si applicano ad entrambi. jQuery è solo javascript, dopo tutto. – Armstrongest

+2

Infatti - ma per qualcuno che inizia in javascript spesso troveranno il loro sviluppo molto più semplice se usano jQuery. Sto solo spargendo la voce :) –

risposta

14

In realtà, questo è quello che vi serve:

string myScriptValue = "function callMe() {alert('You pressed Me!'); }"; 
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "myScriptName", myScriptValue, true); 

Copiare tutti javascript in corda e poi registrano nella propria pagina aspx nel code-behind. Quindi nella pagina di aspx, puoi chiamare la funzione javascript quando vuoi. Dovresti scrivere questo codice nel metodo Page_Load nella pagina C#.

+0

Grazie, ho anche dovuto anteporre ScriptManager a System.Web.UI. Ho già avuto System.Web.Extensions di riferimento nel mio progetto VS2013. – John

6

Qualcosa di simile:

btnSomething.ClientClick = "alert('You pressed me!');"; 

Si potrebbe anche voler leggere sul controllo ScriptManager e output di blocchi di script.

6

Le risposte corrette di solito sono "Non si". È meglio definire il codice in un file .js e utilizzare jQuery per collegare gli eventi desiderati.

$(document).ready(function() { 
$('#myBtn').click(function() { 
    alert('Handler for .click() called.'); 
});}; 
3

Se si desidera registrare uno script che verrà utilizzato in relazione ad un UpdatePanel (AJAX) utilizzare ScriptManager classe come ha sottolineato Sani Huttunen. Altrimenti si dovrebbe utilizzare la classe ClientScriptManager (metodi Page.ClientScript.RegisterClientScriptBlock o Page.ClientScript.RegisterStartupScript)

Come un altro utente ha, normalmente registrando uno script sul codice dietro può e deve essere evitato. Non è una pratica molto bella e dovresti farlo solo nei casi in cui non hai altra scelta.

4

Un modo per mettere un po 'javascript nella pagina in una posizione specifica fare questo:

ASP.Net

<script type="text/javascript"> 
<asp:Literal id="litScript" runat="server" /> 
</script> 

C#

litScript.Text = "alert("Hello!");" 

Naturalmente, si può mettere qualsiasi cosa in lì, e mi sento di raccomandare una libreria javascript.

L'utilizzo di Scriptmanager è anche un'opzione.

+0

Penso che questa sia un'opzione quando devi fare qualcosa di veramente difficile, ma non lo userei in questo caso. – bloparod

+0

Grazie, questa è la soluzione che stavo cercando. Usando '

2

Response.Write("<script language='javascript'>alert('You pressed Me!');</script>");

+0

Prova questo. sarà lavoro – john

Problemi correlati