Nano Hash - криптовалюты, майнинг, программирование

Как подключить jQuery и CSS к модулю DNN?

Я просмотрел эту статью автора Ventrian и другой в нашем сообществе. Кажется, я не могу заставить это работать, поэтому вот как выглядит мой модуль в двух словах.

View.aspx

<%@ Control language="C#" Inherits="KDMC.Modules.kdmc_userTraderListView.View" AutoEventWireup="false"  CodeBehind="View.ascx.cs" %>
<%@ Register TagPrefix="dnn" Namespace="DotNetNuke.Web.Client.ClientResourceManagement" Assembly="DotNetNuke.Web.Client" %> 
<asp:Panel ID="Panel1" runat="server">                        
    <asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1" OnItemDataBound="traderWorks">
        <HeaderTemplate>
            <table id="datatable">
            <thead>
            <tr>
            <th>Some heading</th>                
            </tr>
            </thead>
        </HeaderTemplate>

        <ItemTemplate>
            <tr>
            <td><%# Eval("SomeData")%></td>                
            </tr>
        </ItemTemplate>

        <FooterTemplate>

        </FooterTemplate>

    </asp:Repeater>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:SiteSqlServer2 %>" SelectCommand="SELECT Whatever from WHerever"></asp:SqlDataSource>

<script type="text/javascript">
    $('#datatable').dataTable();
</script>

<dnn:DnnCssInclude runat="server" FilePath="~/DesktopModules/<modulename>/media/css/jquery.dataTables.css" />
<dnn:DnnJsInclude runat="server" FilePath="~/DesktopModules/<modulename>/media/js/jquery.js" />
<dnn:DnnJsInclude runat="server" FilePath="~/DesktopModules/<modulename>/media/js/jquery.dataTables.min.js" />
</asp:Panel>

Согласно статьям и каждый раз, когда я когда-либо подключал css и jquery к файлу скина, это должно работать! Что заставляет DNN не видеть его в моем модуле?

Отредактировано

Я думаю, что вижу проблему. Я думаю, что DNN видит файлы, которые подключены с использованием тегов <dnn:DnnCssInclude runat="server> or <dnn:DnnJsInclude runat="server>. Модуль не видит

<script type="text/javascript">
    $('#datatable').dataTable();
</script>

Как это исправить? Согласно этой статье в нашем сообществе, необходимо создан. Как мне это сделать?

11.07.2013

Ответы:


1

Я предполагаю, что проблема, вероятно, связана с относительным размещением различных сценариев и контента. Если вы используете FireFox, вы можете нажать Ctrl-Shift-J, чтобы вызвать консоль ошибок, и она будет отображать ошибки Javascript при обновлении страницы.

Каждый раз, когда вы имеете дело с Javascript в DNN (или ASP.NET), важно смотреть на отображаемый код (выполняя исходный код (Ctrl-U) на странице), чтобы вы могли видеть, что на самом деле генерируется код. Предполагая, что вы используете последнюю версию DNN (6.x или выше), вам не нужно создавать экземпляр jQuery, но вы можете убедиться в этом, просмотрев источник и убедившись, что jQuery включен. Вы должны убедиться, что ваши JsIncludes визуализируются перед вашим "$('#datatable').dataTable();" script и что объект с данными также отображается над этим скриптом. Если нет, вы можете указать размещение битов JsInclude, указав провайдера в вызове (т.е. ForceProvider="DnnPageHeaderProvider")

11.07.2013
  • Спасибо, сэр! я пробовал все под солнцем, чтобы заставить это работать. В итоге я вместо того, чтобы оставить тег script в ascx, сделал его файлом для себя, затем использовал ForceProvider="DnnPageHeaderProvider" для других включаемых файлов и использовал ForceProvider="DnnFormBottomProvider для нового файла javascript. После вашего совета по атрибуту ForceProvider я покопался в примерах его использования и смог найти этот ресурс . Я надеюсь, что это поможет другим прийти! 11.07.2013
  • Рад, что смог помочь. Нет причин, по которым вам нужно было добавлять его в отдельный файл, на самом деле это просто размещение, и вы должны быть в состоянии добиться необходимого размещения, имея свой скрипт в конце файла. 11.07.2013
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..