Альтернативы MultiView в ASP.NET - PullRequest
1 голос
/ 19 января 2010

Сайт, который я создаю, содержит большое количество просмотров, которые будут отображаться в одном и том же месте, но скрываться или отображаться в зависимости от того, как пользователь перемещается по меню.

В представлении дизайна визуальных студий становится довольно грязно, когда у вас есть MultiView с 10 различными видами. Я уже разделил содержимое каждого представления на несколько пользовательских элементов управления. Но есть ли альтернатива MultiView?

Ответы [ 3 ]

0 голосов
/ 03 сентября 2014

Если вы используете здесь веб-формы ASP.NET ...

Это еще одна причина инвестировать в некоторые мощные веб-элементы управления, такие как Telerik ASP.NET control suite.

Вы можете использовать их элемент управления RadTabStrip вместе с элементом управления RadMultiPage.

Пример здесь: http://demos.telerik.com/aspnet-ajax/tabstrip/examples/multipage/loading-external-content/defaultcs.aspx

Вы можете указать ContentUrl для каждого RadPageView, который позволяет разделить каждое представление на отдельные файлы aspx.

Это упрощает ваше решение за счет разделения каждого представления на их собственную страницу и повышает производительность, поскольку содержимое RadPageView запрашивается только при первоначальном просмотре.

0 голосов
/ 03 сентября 2014

Я бы сделал так, чтобы на странице был заполнитель и динамически добавлялись к нему элементы управления по мере необходимости.

Исходя из того, что вы сказали, пользователь выглядит как меню, и это решает, какой вид отображать в элементе управления MultiView ...

Я бы так что-то вроде

ASPX файл:

<asp:PlaceHolder id=phContentContainer" runat="server"></asp:PlaceHolder>

Код позади

switch (MenuSelection)
{
     case "LOGIN" //Display the login control
     {
        ucLoginUserControlType loginControl = (ucLoginUserControlType)LoadControl("~/UserControls/ucLoginUserControlType.ascx");

        phContentContainer.Controls.Add(loginControl);
     }
}

Очевидно, вы захотите, чтобы код был немного более эффективным и понятным, чем описанный выше с 10 представлениями ... но вы поняли.

Это делает вашу страницу aspx простой и облегчает реализацию будущих элементов управления.

Надеюсь, это поможет, я набрал код из памяти, поэтому некоторый синтаксис может быть неправильным - если не получается, дайте мне крик, и я выкопаю несколько примеров того, когда я это сделал.

Удачи!

0 голосов
/ 19 января 2010

Обычно я просто использую Panel или Placeholder и переключаю видимости вручную.Но тогда я тоже не использую конструктор VS ...

...