Вопрос

Я только что перенес проект в бета-версию ASP.net MVC framework, и единственная проблема, с которой я сталкиваюсь, связана с jQuery и jQueryUI.

Вот сделка:

В Site.Master это следующие ссылки на скрипты:

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

И используя их, accordian UI что у меня на одном из представлений работает отлично, за исключением одной проблемы:изображения из ThemeRoller не включены на страницу.Если я закомментирую ссылки jQuery, изображения ThemeRoller останутся там.Весь CSS находится в Content folder и все скрипты находятся в папке Scripts folder.

Я знаю, что это глупая задача, но она заставляет меня дергаться.

Что мне не хватает?

Обновлять

Я попробовал первый ответ, но безрезультатно, подробности читайте в комментарии.Еще раз спасибо тем, кто смотрит.

Второй подход тоже не работает.Я озадачен.

Еще одно обновление

Используя Url.Content теги для сценариев действительно позволяют сценариям работать правильно.Использование обычного тега для таблицы стилей переносит на страницу все стили, ЗА ИСКЛЮЧЕНИЕМ всех, связанных с ThemeRoller.

А jquery-ui-themeroller.css файл находится в папке «Содержимое», и когда я проверяю элемент, CSS присутствует.Я подозреваю, что проблема заключается в сопоставлении этого файла CSS с папкой изображений для themeroller, которая также находится в папке Content.Ссылки на изображения в этом файле, как указано: background: url(images/foo.gif)

Нужно ли менять ссылки в этом файле?

Это было полезно?

Решение

это помогает?

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

Причина неудовлетворенности очень проста, хотя я признаю, что ее нелегко понять!Когда у вас естьu003Clink> метка внутриu003Cheadn runat="server"> , Asp.net обработаетu003Clink> Объедините и обнаружите URL -адреса и разрешите их относительно корня приложения.Когда у вас естьu003Cscript> tag on the page (withoutn runat="server") then ASP.NET willn leave it alone since it's just plainn old HTML.

Использование url.content () - это подход, который я бы использовал для решения этого, так как он будет разрешен по сравнению с корнем приложения, как иu003Clink> ярлык.

Другие советы

Если все ваши представления не находятся на одном уровне, вам нужно либо использовать

  • Используйте абсолютный путь, например /Scripts/jquery-1.2.6.js.
  • Или, что еще лучше, разрешите виртуальный путь, например <%= Url.Content("~/Scripts/jquery-1.2.6.js") %>

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

Вам необходимо изменить ссылки в jquery-ui-themeroller.css, чтобы они указывали на текущее местоположение изображений.

Например, вам необходимо обновить путь к изображениям, которые ищет файл CSS.

background: url(images/foo.gif)

Удалите «images/» из своих путей, чтобы они выглядели так:

background: url(foo.gif)

поскольку ваш CSS и изображения находятся в папке содержимого.

    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"));
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top