2011-06-14 4 views
1

Я использую панель Ajax Tab в своем приложении. На левой стороне расположены 4 вкладки и частичный вид с правой стороны. В каждой из этих вкладок я показываю некоторые данные, и на каждой вкладке есть кнопка выбора ссылки. Когда я нажимаю на любую из кнопок выбора ссылки, я заполняю частичный вид некоторой информацией. Когда это произойдет, мой просмотр снова загружен снова. A B C DКак обновить частичный просмотр без обновления всей страницы в mvc

например, это вкладки. давайте предположим, что я на вкладке B, и теперь, когда я нажимаю кнопку выбора ссылки, My view полностью загружается с информацией. , но вкладка освобождает фокус в этой точке. Я возвращаюсь к значению по умолчанию. , так что я хочу помочь на этом 1) либо я должен обновить только частичный вид, не загружая полную страницу 2), либо мне нужно поддерживать активное значение индекса вкладки при нажатии кнопки выбора ссылки. . Пожалуйста, помогите мне с этой проблемой. и предоставить мне примеры

+1

Вы должны только обновить частичный вид, то есть преимущество MVC. –

ответ

1

jQuery Tabs - Load contents only when clicked Вот пример, который загрузки содержимого вкладок динамически с помощью Ajax. Это для PHP, что вам нужно изменить, это поставить контроллер/действие вместо URL-адреса страницы PHP.

$.get("controller/action", {tab_clicked, "my_tab"}, tab_fetch_cb, "text/json/xml"); 

или же вместо Ajax.ActionLink

использование <a onclick="LoadTab(@item.ID)">Item @item.ID</a> и функция JQuery изменить вкладку и загрузки данных dyanamicaly

function LoadTab(id){ 
    //Change tab here Ex: $('#tabs').tabs('select', index); 
     $.get('ajax/test.html', {Id, id},function(data) { 
      $('#Partial_Controller_Name').html(data); 

     }); 

} 
+0

Позвольте мне также указать код <% = Ajax.ActionLink ("Выбрать", " Partial_Controller_Name ", новый {Id = item.ID}, новый AjaxOptions {UpdateTargetId = "Partial_Controller_Name"})%>

<% Html.RenderPartial("Partial_Controller_Name"); %>
Когда я нажимаю на эту кнопку, он перенаправляет меня partial_Controller_Name без вида –

+0

Убедитесь, что вы добавили ссылку на javascript-библиотеку ajax

+0

Я также добавил скрипт –

0

Напишите АЯКС вызов события нажатия язычка и загрузить частичный вид в контейнере на вкладке

+0

См. Этот ответ http://stackoverflow.com/questions/1644350/asp-net-mvc-load-a-partial-view-using-ajax-from-a-jquery-ui-tab – Tassadaque

+0

Но я не могу загрузить частичный просмотр в табл. –

+0

написать actionresult возврат частичный вид другая процедура такая же, как указано в предыдущих вкладках ответа, это ничего, кроме ul и li с некоторым javascript – Tassadaque

0

Это может быть сделано с помощью RjsResult класса

при использовании mvc1 u можете использовать RjsResult.cs

по this..you может обновить столько DIV вы хотите на странице ...

использовать это для реализации

public ActionResult Some_Method(){ 
RjsResult r = new RjsResult(); 
ViewData["SomeData"] = Some_Function(); 
r.update("DIV_id","PartialPagePath",ViewData,ControllerContext); 
return r; 
} 

поэтому при нажатии на somethink..this функции будет implemnted и будет обновить вы Div с ТНТ частичной

Просмотр части

<div id="DIV_id"></div> 

вы можете обновить столько DV, как вы хотите с помощью одного клика :)

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