2011-02-25 15 views
12

Estoy tratando de modificar el Orchard.Search parte con el formulario de búsqueda y el botón para ver y comportarse como yo quiera. Para esto necesito usar algunas características de jQuery.Usando jQuery desde el módulo Orchard página

que añade esto a la cabecera del archivo Search.SearchForm.cshtml:

Script.Require("jQuery"); 

y puedo ver en la salida de la página que se añade jQuery, en la parte inferior de la html, justo antes de la etiqueta de cierre:

<script src="/Orchard.Web/Modules/Orchard.jQuery/scripts/jquery-1.4.2.js" type="text/javascript"></script> 

que se ve bien. Ahí es donde está la biblioteca jQuery y puedo descargarla desde esa ubicación sin problemas. También he añadido una pequeña prueba de secuencia de comandos en la página para ver si jQuery funciona correctamente:

<script language="javascript" type ="text/javascript"> 

$(document).ready(function() { 
    alert('page loaded'); 
}); 

</script> 

Pero nunca es despedido y me sale este script-error: ReferenceError no detectada: no está definido $

me estoy cansando de esto, demasiados problemas, pero supongo que estoy haciendo todo mal ...

Editar: añadido la etiqueta jQuery y trató la respuesta sugerencia sobre Script.Foot() que parece funcionar:

@using(Script.Foot()) { 
    <script type ="text/javascript"> 
    //<![CDATA[ 
     $(document).ready(function() { 
      alert('page loaded'); 
     }); 
    //]]> 
    </script> 
} 
+1

Por favor, utilice la etiqueta "jQuery" para preguntas relacionadas con jQuery. Gracias. –

Respuesta

25

Bueno, ese script suyo debe aparecer después de la inclusión de jQuery, de lo contrario $ no tiene sentido. Usted puede añadir su guión de surrouding con @using (Script.Foot) {...}:

@using(Script.Foot()) { 
    <script type ="text/javascript"> 
    //<![CDATA[ 
    $(document).ready(function() { 
     alert('page loaded'); 
    }); 
    //]]> 
    </script> 
} 
+0

Por supuesto, ese es el problema. Pero el código using (Script.Foot) que sugirió se bloquea con: CS1674: 'grupo de métodos': el tipo utilizado en una instrucción using debe ser implícitamente convertible a 'System.IDisposable', lo cual es extraño. –

+0

¡Ah, lo tengo funcionando! Al @using (Script.Foot()) le faltaba el paréntesis :). Súper gracias por la ayuda. –

+0

Gracias, arreglé la muestra. –

Cuestiones relacionadas