Я использую jqueryui-tabs для отображения интерфейса с вкладками.
вот как выглядит моя разметка в MasterPage :
<div id="channel-tabs" class="ui-tabs">
<ul class="ui-tabs-nav">
<li><%=Html.ActionLink("Blogs", "Index", "Blog", new { query = Model.Query, lang = Model.SelectedLanguage, fromTo = Model.FromTo, filters = Model.FilterId }, new{ title="Blog Results" }) %></li>
<li><%=Html.ActionLink("Forums", "Index", "Forums", new { query = Model.Query, lang = Model.SelectedLanguage, fromTo = Model.FromTo, filters = Model.FilterId }, null) %></li>
<li><%=Html.ActionLink("Twitter", "Index", "Twitter", new { query = Model.Query, lang = Model.SelectedLanguage, fromTo = Model.FromTo, filters = Model.FilterId }, null) %></li>
</ul>
<div id="Blog_Results">
<asp:ContentPlaceHolder ID="ResultPlaceHolder" runat="server">
</asp:ContentPlaceHolder>
</div>
Если контент загружается через ajax, я возвращаю частичное представление с содержимым вкладки. Если содержимое загружается напрямую, я загружаю страницу, которая включает содержимое в ContentPlaceHolder.
примерно так:
<asp:Content ID="Content2" ContentPlaceHolderID="BlogPlaceHolder" runat="server">
<%=Html.Partial("Partial",Model) %>
</asp:Content>
//same goes for the other tabs.
Имея это, я получаю доступ к URL-адресу "/ Forums". Сначала он загружает содержимое форума на вкладку Blog, запускает загрузку ajax на вкладке Blog и заменяет содержимое содержимым блога.
Я пытался поместить различный заполнитель для каждой вкладки , но это тоже не все исправило, так как при загрузке "/ Форумы" он обязательно загрузит вкладку форума, но откроется вкладка Блог первый.
Кроме того, при использовании отдельных заполнителей, если я загружаю URL-адрес «/ Blogs», он сначала статически загружает содержимое в заполнитель содержимого блога, а затем инициирует вызов ajax, чтобы загрузить его во второй раз и заменить. Если я просто свяжу вкладку с хэштегом, то при загрузке вкладок форума я не получу содержимое блога ...
Как бы вы достигли ожидаемого поведения?
Я чувствую, что у меня может быть более глубокая проблема в организации моих взглядов. Является ли размещение вкладок на главной странице способом?
Может быть, я должен просто перехватить ссылки вручную и не полагаться на вкладки jquery-ui, чтобы сделать работу за меня.
Я не могу загрузить все вкладки по умолчанию и отобразить их с помощью хеш-тегов, мне нужна загрузка ajax, потому что это процесс поиска, который может быть длинным.
Итак, подведем итог:
- / Форум должен загрузить вкладку форума и позволить другим вкладкам загружаться с помощью вызова ajax при нажатии на нее.
- / Twitter должен загрузить вкладку Twitter и разрешить другим вкладкам ....
- то же самое относится к / Blogs и любым вкладкам, которые я добавлю позже.
Есть идеи, чтобы это работало правильно?