Обмен данными между двумя частичными представлениями в пользовательском интерфейсе вкладки - PullRequest
1 голос
/ 22 июля 2011

Я создал две вкладки с помощью пользовательского интерфейса jquery и поместил два частичных представления на вкладках в виде приведенного ниже кода.

<div id="tabs">
<ul>
    <li><a href="#tab1">Tab 1</a></li>
    <li><a href="#tab2">Tab 2</a></li>
</ul>
<div id="tab1">
   @Html.Partial("Tab1")    </div>
<div id="tab2">
   @Html.Partial("Tab2")
</div>

</div>

Как передать данные из частичного представления Tab2 в частичное представление Tab1.

Спасибо, Нарен

Ответы [ 2 ]

2 голосов
/ 22 июля 2011

Вы не можете .Непосредственный обмен данными между частичными представлениями также не является хорошей архитектурой.Каждое частичное представление должно существовать для одной определенной цели и не должно мешать или обмениваться данными с другими - на самом деле, Tab1 даже не должен знать, что Tab2 существует.

ОднакоВы можете сохранить данные в свойстве Model представления, содержащего два частичных представления, и передать его каждому отображаемому частичному представлению:

@model SomeModel

<div id="tabs">
    <ul>
        <li><a href="#tab1">Tab 1</a></li>
        <li><a href="#tab2">Tab 2</a></li>
    </ul>
    <div id="tab1">
       @Html.Partial("Tab1", Model)
    </div>
    <div id="tab2">
       @Html.Partial("Tab2", Model)
    </div>    
</div>
1 голос
/ 22 июля 2011

Стилистически я предпочитаю загружать, а не загружать 2 партиала на одной странице, если пользователь может видеть только 1 за раз ... Лично я предпочитаю просто разделить их на разные виды (событие, если опыт пользователя заставляет это выглядеть как будто они нажимают на вкладки, чтобы получить нужный эффект)

Это не позволяет частичному B делать что-то, что потенциально замедляет время загрузки страницы для частичного A, таким образом замедляя работу пользователя без видимой причины.

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

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