Telerik ScriptRegistrar и загрузка jquery-скриптов в голову - PullRequest
2 голосов
/ 11 марта 2011

Я использую jquery.curvycorners и гарнитуру на веб-сайте, и я хочу, чтобы эти скрипты были загружены в начало страницы (для правильного отображения страницы с самого начала).

Теперь яЯ представляю некоторые компоненты Telerik, и ScriptRegistrar вызывает у меня головную боль.

Кажется, он не хочет выполнять рендеринг в двух местах, даже если это две отдельные группы.

Сокращенный пример:

    <% Html.Telerik().ScriptRegistrar().Scripts(s => s
           .AddGroup("Group1", group => group

               // jQuery    
               .Add("jquery-1.4.4.min.js")
               .Add("jquery-ui-1.8.9.custom.min.js")

               // Rounded corners
               .Add("jquery.curvycorners.source.js")

               .Combined(false)
               .Compress(false)
           ))
           .Render();
    %>

</head>
<body id="body">

    <div>

yadda yadda...

    </div>

    <% Html.Telerik().ScriptRegistrar()
            .DefaultGroup(group => group
                .Compress(false)
                .Combined(false))
            .jQuery(false)
            .Render(); %>
</body>
</html>

Должен ли я выбрать те компоненты, которые мне действительно нужно загрузить с самого начала, и использовать теги сценария, или есть ли способ использовать скрипт-регистратор рендеринга в двух местах?

Ответы [ 2 ]

4 голосов
/ 11 марта 2011

Вы не должны загружать ScriptRegistrar в двух местах.Кроме того, скрипт регистратора всегда должен быть внизу страницы.Если вам абсолютно необходимо иметь ссылки на javascript до ScriptRegistrar, вы можете сделать следующее:

<!DOCTYPE html>
<html>
<head>
    <title>@ViewBag.Title</title>
    <link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
    <script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script>
    @Html.Telerik().StyleSheetRegistrar().DefaultGroup(g => g.Add("telerik.common.css").Add("telerik.windows7.css"))
</head>

<body>
    <div class="page">
        ...
    </div>
    @Html.Telerik().ScriptRegistrar().jQuery(false);
</body>
</html>

В противном случае я рекомендую объединить два в нижней части, отключив встроенный jQuery и добавить свои собственные в группу, напримерВы сделали выше.

0 голосов
/ 26 мая 2011

Вы можете вызвать Render () только один раз на странице. Попробуйте удалить первый.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...