Я подозреваю, что причиной может быть искажение идентификатора.
Измените свой сценарий на этот и повторите попытку
$(function () {
$('#<%=pnlTabs.ClientID %>').tabs();
});
Поскольку спецификация HTML требует, чтобы идентификаторы элементов были уникальными в DOMплатформа ASP.NET пытается избежать возможности появления дубликатов идентификаторов путем перезаписи идентификаторов, которые вы назначаете серверным элементам управления на странице.Если вы подумаете об этом, в некоторой степени это имеет смысл, например, при использовании таких элементов управления, как, например, представление сетки, когда у вас есть серверный элемент управления с идентификатором, который вы хотели бы повторить для каждого элемента в источнике данных, вы бы не захотелиидентификатор, который также будет повторяться, поскольку это приведет к неверному HTML.
Любой элемент управления, украшенный интерфейсом INamingContainer
, создает новое пространство имен идентификатора, что приведет к искажению идентификатора элемента нана стороне клиента. * Используя разметку, приведенную выше, мы можем получить идентификатор, который будет сгенерирован в ответе, отправленном клиенту, выведенном на страницу при вызове функции jQuery.
* ASP.NET 4может быть установлен, чтобы не искажать идентификаторы, на свой страх и риск!
РЕДАКТИРОВАТЬ:
Я просмотрел ваш демо-код, и все работаеткак и предполагалось - обработчики событий вкладки правильно привязаны к элементам списка, которые при нажатии применяют правильные классы CSS к элементам div, чтобы показать соответствующий искрыть остальные соответственно.
Кажется, что вам не хватает большого фрагмента CSS, необходимого для стилизации вкладок, и именно классы CSS определяют некоторые свойства вкладок.Если вы перетащите ссылку на CSS-тему jQuery UI, размещенную на Google API, то все будет работать правильно.Я добавил следующее после вашей ссылки на таблицу стилей CSS
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
, и все выглядело так, как ожидалось.
Кстати, вас может заинтересовать ASP.NET MVC - inМое личное мнение после того, как я использовал его в течение года, если бы у меня был выбор, я бы не стал возвращаться к веб-формам.Если вам удобно работать с HTML, CSS и JavaScript, вы можете использовать его более интуитивно, чем веб-формы:)