Pergunta

Acabei de me mudar um projeto para o lançamento da versão beta do quadro ASP.net MVC eo único problema que estou tendo é com jQuery e jQueryUI.

Aqui está o negócio:

Em Site.Master são as referências de script seguinte:

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

E usando esses, o accordian UI que eu tenho em um dos pontos de vista funciona perfeitamente, exceto por um problema: as imagens de ThemeRoller não estão incluídos na página. Se eu comentar as referências jQuery, as imagens ThemeRoller estão lá. Todo o css está no Content folder e todos os scripts estão no Scripts folder.

Eu sei que este é um problema do caminho bobagem, mas ela está me fazendo tremer.

O que eu estou ausente?

Atualizar

Eu tentei a primeira resposta a nenhum proveito, leia o comentário para mais detalhes. Obrigado mais uma vez para aqueles que estão vendo.

A segunda abordagem não está funcionando. Estou perplexo.

Outro Update

Usando as tags Url.Content para os scripts de fato permitir que os scripts sejam executados corretamente. Usando uma etiqueta regular para a folha de estilo obtém todos os estilos na página, exceto para todos os relacionados com ThemeRoller.

O arquivo jquery-ui-themeroller.css está na pasta de conteúdo e quando eu inspecionar um elemento, o css está presente. Eu suspeito que o problema é no mapeamento a partir deste arquivo css para as imagens da pasta para o themeroller, que está na pasta de conteúdo também. links de imagem neste arquivo como especificado como: background: url(images/foo.gif)

Siga os links neste necessidade de arquivo para a mudança?

Foi útil?

Solução

isso ajuda?

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

A razão para a inconstistency é muito simples, embora eu admita que não é fácil de descobrir! Quando você tem um Tag dentro de um , ASP.NET irá processar a tag e detectar URLs e resolvê-los em relação ao raiz do aplicativo. Quando você tem um

Outras dicas

A menos que todos os seus pontos de vista estão no mesmo nível, você precisa tanto para uso

  • Use um caminho absoluto, como /Scripts/jquery-1.2.6.js
  • Ou melhor ainda, resolver um caminho virtual, como <% = Url.Content ( "~ / Scripts / jquery-1.2.6.js")%>

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

Você precisa mudar as ligações em jquery-ui-themeroller.css para apontar para a localização atual das imagens.

Como, você precisa atualizar o caminho das imagens que o arquivo css está procurando.

background: url(images/foo.gif)

Remova o 'images /' de seus caminhos para torná-lo parecido com:

background: url(foo.gif)

tanto como o seu css e imagens estão na pasta de conteúdo.

    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 em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top