Pregunta

Acabo de mover un proyecto a la versión beta de ASP.net MVC framework y el único problema que tengo es con jQuery y jQueryUI.

Aquí está el trato:

En Site.Master son las siguientes referencias de script:

<script src="../../Scripts/jquery-1.2.6.js" type="text/javascript"></script>
<script src="../../Scripts/jquery-ui.js" type="text/javascript"></script>

Y usando esos, el accordian UI que tengo en una de las vistas funciona perfectamente, excepto por un problema:las imágenes de ThemeRoller no están incluidos en la página.Si comento las referencias de jQuery, las imágenes de ThemeRoller están ahí.Todo el CSS está en el Content folder y todos los guiones están en el Scripts folder.

Sé que este es un problema de ruta tonto, pero me hace temblar.

¿Qué me estoy perdiendo?

Actualizar

Intenté la primera respuesta sin éxito; lea el comentario para obtener más detalles.Gracias de nuevo a quienes están viendo.

El segundo enfoque tampoco funciona.Estoy desconcertado.

Otra actualización

Utilizando el Url.Content Las etiquetas para los scripts permiten que los scripts se ejecuten correctamente.El uso de una etiqueta normal para la hoja de estilo incluye todos los estilos en la página EXCEPTO todos aquellos relacionados con ThemeRoller.

El jquery-ui-themeroller.css El archivo está en la carpeta Contenido y cuando inspecciono un elemento, el CSS está presente.Sospecho que el problema está en la asignación de este archivo CSS a la carpeta de imágenes del Themeroller, que también se encuentra en la carpeta Contenido.Enlaces de imágenes en este archivo como se especifica como: background: url(images/foo.gif)

¿Es necesario cambiar los enlaces de este archivo?

¿Fue útil?

Solución

¿ayuda esto?

http://forums.asp.net/p/1334947/2690469.aspx

  

La razón de la inconsistencia es   muy simple, aunque admito que no es   ¡fácil de entender! Cuando usted tiene una   < enlace > etiqueta dentro de un < cabeza   runat = " server " > ;, ASP.NET procesará   el < enlace > etiquetar y detectar URL y   resolverlos en relación con el   raíz de la aplicación Cuando usted tiene una   < script > etiqueta en la página (sin   runat = " servidor ") entonces ASP.NET   déjalo en paz ya que es simple   HTML antiguo.

     

Usar Url.Content () es el enfoque I   usaría para resolver esto ya que   resolverse en relación con la raíz de la aplicación,   al igual que < link > etiqueta.

Otros consejos

A menos que todas sus vistas estén en el mismo nivel, deberá usar

  • Use una ruta absoluta como /Scripts/jquery-1.2.6.js
  • O incluso mejor, resuelva una ruta virtual como <% = Url.Content (" ~ / Scripts / jquery-1.2.6.js ")% >

Url.Content () http://jvance.com/media/ 2008/10/18 / UrlContent5.media

Debe cambiar los enlaces en jquery-ui-themeroller.css para apuntar a la ubicación actual de las imágenes.

Como en, debe actualizar la ruta de las imágenes que está buscando el archivo CSS.

background: url(images/foo.gif)

Elimine las 'imágenes /' de sus rutas para que se vea así:

background: url(foo.gif)

ya que tanto su CSS como sus imágenes están en la carpeta de contenido.

    protected void Page_Load(object sender, EventArgs e)
    {
        Page.ClientScript.RegisterClientScriptInclude(this.GetType(),"JQuery", ResolveUrl("~/js/jquery.min.js"));
        Page.ClientScript.RegisterClientScriptInclude(this.GetType(), "JQueryUI", ResolveUrl("~/js/jquery-ui.custom.min.js"));
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top