2010-05-17 8 views
12

Saludos, cómo puedo escribir código JavaScript en asp.net en el código detrás de usar C#. Por ejemplo, Tengo haga clic en el botón evento al hacer clic en el botón Quiero invocar el código java script:cómo escribir javascript en asp.net en código detrás de usar C#

alert("You pressed Me!"); 

Quiero saber cómo utilizar la escritura de Java de código subyacente.

Gracias;

+0

que recomiendo mirar en el uso de las bibliotecas de jQuery en lugar de pura Javascript. –

+2

@David. Los mismos principios se aplican a ambos. jQuery es solo javascript, después de todo. – Armstrongest

+2

De hecho, pero para alguien que comienza en javascript a menudo encontrarán su desarrollo mucho más fácil si usan jQuery. Simplemente difundiendo la palabra :) –

Respuesta

14

En realidad, esto es lo que necesita:

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

todos Javascript de copias en cadena y luego se registren en su página aspx en el código subyacente. Luego, en la página aspx, puede llamar a la función javascript siempre que lo desee. Debe escribir este código en el método Page_Load en la página C#.

+0

Gracias, también necesité el prefijo ScriptManager con System.Web.UI. Ya tenía System.Web.Extensions a los que se hace referencia en mi proyecto VS2013. – John

6

Algo así como:

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

También puede ser que desee leer sobre el control ScriptManager y dar salida a los bloques de secuencia de comandos.

6

Las respuestas correctas suelen ser "No". Es mejor definir su código en un archivo .js y usar jQuery para conectar los eventos deseados.

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

Si desea registrar un script que será utilizado en conexión con una UpdatePanel (AJAX) utilizan ScriptManager clase como señaló Sani Huttunen. lo contrario, debe utilizar la clase ClientScriptManager (métodos Page.ClientScript.RegisterClientScriptBlock o Page.ClientScript.RegisterStartupScript)

Como otro usuario señaló, normalmente el registro de una secuencia de comandos en el código subyacente puede y debe ser evitado. No es una práctica muy buena y debes hacerlo solo en los casos donde no tienes otra opción.

4

Una forma de poner un poco de javascript en la página en una ubicación específica ello:

ASP.Net

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

C#

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

Por supuesto, usted puede poner cualquier cosa en allí, y recomendaría una biblioteca de JavaScript.

El uso de Scriptmanager también es una opción.

+0

Creo que esta es una opción cuando tienes que hacer algo realmente complicado, pero no lo usaría en este caso. – bloparod

+0

Gracias, esta es la solución que estaba buscando. El uso de '

2

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

+0

Pruebe esto. será trabajo – john

Cuestiones relacionadas