Можно ли одновременно показывать два активных индекса для мультипросмотра

У меня мультипросмотр с

  Activeviewindex=-1.

У меня будут некоторые представления, предполагающие 3. В одном представлении у меня будет представление сетки, а другие 2 представления содержат некоторые элементы управления. Теперь сначала я загружу представление с представлением сетки, если пользователь нажмет переключатель, доступный в представлении сетки, я хотел бы показать соответствующее представление вместе с представлением сетки. Но, по моему мнению, мы можем показывать только одно представление за раз. так есть ли возможность показывать 2 вида мультипросмотра одновременно.


person Developer    schedule 23.02.2011    source источник


Ответы (2)


Возможно, вам лучше разместить элементы управления внутри <asp:Panel> элементов управления и условно отображать или скрывать различные панели в коде программной части. Затем вы можете показать две сразу, с оговоркой, что, когда вы хотите переключить представления, вам нужно вручную скрыть все ранее отображаемые панели.

Замените существующий MultiView:

<asp:MultiView ... >
    <asp:View ID="View1" runat="server"> ... </asp:View>
    <asp:View ID="View2" runat="server"> ... </asp:View>
    <asp:View ID="View3" runat="server"> ... </asp:View>
</asp:MultiView>

С рядом Panelс:

<asp:Panel ID="View1" runat="server"> ... </asp:Panel>
<asp:Panel ID="View2" runat="server"> ... </asp:Panel>
<asp:Panel ID="View3" runat="server"> ... </asp:Panel>

И показать или скрыть их по мере необходимости:

// switch to Panel #3
protected void MyButton_Click(object sender, EventArgs e) {
    View1.Visible = false;
    View2.Visible = false;
    View3.Visible = true;
}
person mellamokb    schedule 23.02.2011
comment
Я также использовал панели внутри представлений. Но я не могу загрузить 2 просмотра за раз - person Developer; 23.02.2011
comment
Я хотел заменить Multiview набором Panel. - person mellamokb; 23.02.2011
comment
Но для одного представления одна панель, поэтому, как вы говорите, в представлении используйте 2 панели и покажите обе - person Developer; 23.02.2011
comment
@Dorababu: Почему бы полностью не исключить GridView из MultiView? - person mellamokb; 23.02.2011
comment
О, тогда мне будет сложно, тогда у меня должно быть около 15 панелей. - person Developer; 23.02.2011
comment
@Dorababu: Если все остальные представления в MultiView, кроме GridView, должны отображаться по одному, но иногда GridView следует показывать одновременно с другим представлением, тогда я бы просто взял GridView из MultiView и вручную показать/скрыть его по мере необходимости. - person mellamokb; 23.02.2011
comment
О, внутри мультипросмотра я должен использовать панель вместо представлений - person Developer; 23.02.2011
comment
Да, но моя форма выглядит и чувствует себя хуже всего с огромными пространствами и всем остальным, поэтому я хотел бы, чтобы мое представление сетки было внутри представления. - person Developer; 23.02.2011
comment
@Dorababu: Не уверен, что понимаю. Представление — это просто контейнер, он ничего не отображает на странице. - person mellamokb; 23.02.2011
comment
на самом деле у меня есть 2 мультипросмотра, как вы сказали, если я размещу вид сетки за пределами представления, показывая 2-й мультипросмотр, пространство, занимаемое просмотром сетки, останется пустым, поэтому, чтобы удалить это, я хотел бы, чтобы мой вид сетки был внутри мультипросмотр - person Developer; 23.02.2011
comment
@Dorababu: вы можете установить GridView.Visible = false;, когда GridView не используется. Это имеет тот же эффект, что и размещение в представлении, которое в настоящее время не является активным индексом для MultiView. Тогда он вообще ничего не отобразит на странице. - person mellamokb; 23.02.2011
comment
это означает, что в multiview1 я хотел бы заменить все представления панелью, а на одной панели я должен сделать свой вид сетки, показывая multiview2, поскольку активный индекс multiview1 будет скрыт, то же место будет занято правым multiview2 - person Developer; 23.02.2011
comment
@Dorababu: Примерно да. В моем примере Panel полностью заменяет View и MultiView. Ничего общего с MultiView не осталось вообще. Элементы управления Panel не содержатся внутри чего-либо. - person mellamokb; 23.02.2011
comment
@Dorababu: я бы посоветовал попробовать и посмотреть, что получится. - person mellamokb; 23.02.2011
comment
@Dorababu вместо того, чтобы устанавливать видимый фейл и все такое для нескольких просмотров сетки на странице, почему бы вам не установить дизайн страницы таким образом, чтобы он автоматически соответствовал ширине страницы ... то есть установить ширину в представлении сетки вместо контейнера gridview ... или есть еще один вариант: используйте расширитель аккордеона/складной панели инструмента управления ajax =›asp.net/ajax/ajaxcontroltoolkit/samples/Accordion/ - person Harsh Baid; 23.02.2011

Отображение двух представлений одновременно невозможно в MultiView, вместо этого вы можете использовать отдельные панели, как указано @mellamokb. Также взгляните на эту ссылку msdn

person Harsh Baid    schedule 23.02.2011