2010-04-09 5 views
4

Я хотел бы добавить вкладки для своего веб-сайта, и я понимаю, что я могу использовать элемент управления вкладками в наборе инструментов AJAX, или я могу выбрать вкладки интерфейса JQuery. Каждая вкладка должна будет загружать отдельную страницу asp.net, и мне нужно настроить вкладки, чтобы они выглядели пятнами.Вкладки для сайта ASP.NET

Любые мысли о том, какой подход я могу использовать?

ответ

3

Вкладки JQuery разработаны так, чтобы сделать как можно проще чистую клиентскую и AJAX-табуляцию. Ваши требования состоят в том, чтобы каждая вкладка переходила на отдельную веб-страницу. В этом случае это может быть неправильный подход.

Поскольку каждая вкладка будет другой страницей ASP.NET, вам понадобится что-то, что легко настроить на стороне сервера, чтобы 1) элемент управления вкладки можно было повторно использовать; 2) легко указать, какая вкладка «открыта» со стороны сервера. Я подозреваю, что версия ASP.NET AJAX будет проще по обоим показателям.

С другой стороны, мой собственный опыт был с RadControls' RadTabStrip. Если у вас есть несколько долларов, чтобы потратить, вы можете получить отличный набор многоразовых виджетов от этих ребят, которые очень настраиваемы.

4

есть 1001 способов сделать поведение ...

вы можете даже пойти с jQuery Tools и загружать каждую вкладку асинхронно с каждой страницы

вы можете быть более детальными на то, что точная проблема, а ваш вопрос вроде расплывчато ...

+0

Извините, что не ясны. Мой вопрос заключается в том, что содержание моих страниц вкладок является отдельными страницами aspx, следует ли использовать вкладки JQuery или вкладки из инструментария ajax. – Nick

0

Вы можете увидеть демо вкладки AjaxControlToolkit предлагает здесь:

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

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

  1. Поместите IFRAME внутри вкладки, которая указывает на внешний файл
  2. Втяните содержимое другого файла с помощью ajax и вставьте его в вкладку (не поддерживаются непосредственно вкладками ajaxcontroltoolkit)
  3. Элементы управления пользователя. Вы можете создавать отдельные пользовательские элементы управления для представления страниц. Это позволит вам разделить функциональность и развить ее отдельно от основного беспорядка страницы.

Если у вас есть поисковые системы, которые могут видеть и индексировать содержимое этих вкладок, вы должны также указать это, так как не все из приведенных выше решений являются дружественными Google (или доступны для слепых пользователей).

0

Мой вопрос, учитывая, что содержание моих закладок отдельных страниц ASPX, я должен идти с закладками JQuery или вкладкой управления с Ajax Toolkit

Учитывая, что AjaxControltoolkit не действительно вариант. Вкладки AjaxControlToolkit - это элементы управления, что означает, что они должны жить внутри формы на стороне сервера.Даже если вы можете заставить их загружать содержимое другой страницы ASPX, наиболее вероятным результатом этого могут быть вложенные html-формы, которые на самом деле не поддерживаются.

Если вы переходите на вкладку jQuery UI tabs, вы, скорее всего, столкнетесь с различными проблемами: page redirects on postback. Вы можете попытаться обойти эту проблему, используя jQuery Form (что-то вдоль these lines), но вам может потребоваться трудное время для управления элементами, которые отправляют формы, используя метод __doPostBack. Если ваши страницы ASPX полагаются на postbacks, ваш лучший выбор, вероятно, равен host an iframe for each tab и загрузит ваши страницы aspx таким образом. Это позволит вашим страницам функционировать должным образом с помощью обратных передач.

ASP.NET MVC намного лучше подходит для установки, которую вы пытаетесь достичь, если это вообще вариант.

+0

Если я использую ajax для загрузки содержимого вкладки, я предполагаю, что могу загрузить содержимое aspx страница. Однако как можно было бы работать с ретрансляцией в этом сценарии? – Nick

+0

@ user102533: зависит от того, сколько форм вы загружаете с помощью ajax. Если он один, он будет работать нормально, если его больше одного, то не так много. Если вы посмотрите на JS, которые генерируют страницы aspx, у них в основном есть переменная, называемая 'theForm', которая ссылается на одну форму, которая, по его мнению, находится на странице. Когда вы загружаете другую форму с помощью ajax, эта переменная будет перезаписана последней загружаемой формой. Таким образом, все инициированные JS отправления (например, с помощью кнопок ссылок) перейдут на последнюю загруженную страницу. Вероятно, вы могли бы написать обработчик, чтобы изменить значение этой переменной, так как вкладки меняются, поэтому отправляется на нужную страницу. – R0MANARMY

Смежные вопросы