ASP.NET - Каков наилучший способ, чтобы jquery не загромождал мои файлы ASPX? - PullRequest
0 голосов
/ 13 июля 2009

Я начинаю использовать все больше и больше jquery. Я работаю с диалогами, и каждый диалог (включая JavaScript) занимает более 20-30 строк кода. Есть несколько страниц, где у меня будет более 5 диалогов. Это становится ужасно быстро. Я еще даже не начал изучать скользящие интерфейсы или элементы управления календарем.

У меня больше опыта в PHP ... и в этих ситуациях я бы перемещал вещи во "включаемый" файл. Я вижу, что это работает для таких элементов, как jquery-диалоговые окна в ASP.NET, но когда я начинаю добавлять функции jquery к фактическим элементам формы ASP.NET ... это не вариант (насколько я знаю).

Как я могу не допустить, чтобы дополнительный javascript и дополнительные плавающие div-ы слишком сильно загромождали мои ASPX-файлы?

Я готов разделить файл ASPX на хорошо документированные, отдельные разделы ... в результате получается очень "высокий" файл. Есть лучшие решения?

Спасибо.

Ответы [ 3 ]

5 голосов
/ 13 июля 2009

Вы можете поместить код javascript в отдельный файл (ы) js. Затем вы ссылаетесь на файл (ы) js на своей странице.

3 голосов
/ 13 июля 2009

Я не уверен, как вы структурируете свой .NET и свою разметку, но я бы использовал внешние файлы JavaScript для обработки всего этого, без встроенного JavaScript. Вот как мы работаем здесь, и никаких проблем пока нет, с хорошим разделением разметки, CSS, JavaScript и .NET.

Если у вас есть определенные типы диалогов, затем используйте имена классов в вашей разметке, а затем в JavaScript-файлах для включения используйте классы в качестве селекторов.

1 голос
/ 13 июля 2009

Посмотрим ...

  1. Поскольку вы используете jQuery, вы должны знать синтаксис src скрипта, чтобы уже включать файлы javascript, поэтому я предполагаю, что это не проблема:).

  2. Для тех надоедливых безумно выглядящих идентификаторов элементов управления, которые ASP.NET создает ... кэшировать их в глобальной переменной JavaScript в конце страницы ... как:

    <script>
      ControlIDs = {
        SaveButton = '<%=SaveButton.ClientID%>',
        BlahTextBox = '<%=BlahTextBox.ClientID%>'
      }
    </script>
    

И в вашем отдельном файле кода jQuery сделайте ...

$(ControlIDs.SaveButton).Whatever()

3. Вместо использования идентификатора элемента управления ASP.NET, возможно, вы захотите попробовать использовать имя класса CSS в качестве селектора в jQuery для перехода к конкретному элементу управления (обрабатывать имя класса как идентификатор элемента управления), возможно, не идеальная идея, но это может сработать .

Любой из них должен позволить вам в некоторой степени разделить Javascript.

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