Используя страницу просмотра MVC + $ (документ) .ready

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

У меня есть одно представление на моем сайте, которое не позволяет мне поместить $ document.ready в заполнитель содержимого главной страницы. Я разделил эту страницу до костей, и единственное, что в ней особенного, - это настраиваемый маршрут в global.asax.

 routes.MapRoute("Books",
                 "{controller}/{action}/{keywords}/{pageNumber}",
                  new { controller = "Books", action = "SearchResults" }
                 );

Есть идеи, почему этот настраиваемый маршрут остановит правильную работу $ document.ready при помещении в зону-заполнитель содержимого masterpages?

Как конвертировать HTML в PDF с помощью jsPDF
Как конвертировать HTML в PDF с помощью jsPDF
В этой статье мы рассмотрим, как конвертировать HTML в PDF с помощью jsPDF. Здесь мы узнаем, как конвертировать HTML в PDF с помощью javascript.
0
0
8 994
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ваша главная страница (или страница просмотра, если вы не используете главные страницы) должна ссылаться на jquery. Это включено в последнюю бета-версию платформы MVC.

Убедитесь, что jQuery включен в тег вашей страницы.

также проверьте синтаксис ...

$(document).ready(function() { alert('loaded'); });

эти сокращенные версии также работают:

$().ready(function() { alert('loaded'); });
$(function() { alert('loaded'); });

Просто вставьте его где-нибудь в элементе управления содержимым вашей страницы просмотра в теге <script ...>.

<asp:Content ID = "Content1" ContentPlaceHolderID = "MainContentPlaceHolder" runat = "server">
    <div class = "contentItem">
        <%!-- yadda --%>
    </div>

    <script type = "text/javascript">
        $(document).ready(function() {
         // do your worst
        });
    </script>
</asp:Content>

Если у вас есть что-то, что работает на каждой странице, вы можете выделить его в файл .js и получить к нему доступ с главной страницы. Но для функций, относящихся к конкретному представлению, это, вероятно, самый простой способ и самый легкий в обслуживании.

Ответ принят как подходящий

У меня была та же проблема, и оказалось, что когда я использовал определенный маршрут, он менял воспринимаемую файловую иерархию сайта, например, ссылка ../../Content для файла .js больше не работала. Я исправил это, изменив ссылку на скрипт jquery, чтобы он выглядел так:

<script src = "<%= Url.Content("~/Content/jquery-1.2.6.min.js") %>" type = "text/javascript"></script>

Я столкнулся с тем же самым, и теперь у меня есть привычка использовать "/ Content / ..." для всех ссылок на файлы JS и CSS ... таким образом мне не нужно беспокоиться об этом, когда я обновляю мои маршруты.

Andrew Van Slaars 30.10.2008 22:27

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