Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Вставка большого куска ХТМЛ кода / 4 сообщений из 4, страница 1 из 1
26.08.2004, 15:32
    #32667145
podeig
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка большого куска ХТМЛ кода
Не могу придумать оптимальный способ для следующего дела:

Надо выводить меню по верху сайта. Всего 4 разных положения, которые показыват 4 раздела сайта. Делаю этот header как user control. Проверяю номер раздела:
switch (razdel)
{
case ("1"):
showen_html = "<table .... mnogo HTML ";
case ("2"):
showen_html = "<table .... mnogo HTML ";
...
case ("4"):
...
}

Потом показываю это все на странице <%= showen_html %>

Как это можно красиво решить? Хтмл для всех разделов разный, поэтому както логически его сгенерить не получиться. Что мне здесь не нравится, что я тащу куча ХТМЛ в код behind.

Спасибо за идеи! :)
...
Рейтинг: 0 / 0
26.08.2004, 15:45
    #32667207
Ustazz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка большого куска ХТМЛ кода
Чтобы html не тащить в codebehind можно показывать или прятать части страницы, например, с помощью таблиц.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
<table id="tbl1" runat="server">....</table>
<table id="tbl2" runat="server">....</table>
<table id="tbl3" runat="server">....</table>
<table id="tbl4" runat="server">....</table>

//code behind
protected HtmlTable tbl1;
protected HtmlTable tbl2;
protected HtmlTable tbl3;
protected HtmlTable tbl4;

protected override void OnPreRender(EventArgs e)
{
    tbl1.Visible = false;
    tbl2.Visible = false;
    tbl3.Visible = false;
    tbl4.Visible = false;

    switch (razdel)
    {
        case "1":
            tbl1.Visible = true;
            break;
        case "2":
            tbl2.Visible = true;
            break;
        case "3":
            tbl3.Visible = true;
            break;
        case "4":
            tbl4.Visible = true;
            break;
    }
}


Если html формируется во время выполнения, вместо User Control используй Custom Сontrol - там он будет уместней.
...
Рейтинг: 0 / 0
26.08.2004, 16:30
    #32667401
podeig
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка большого куска ХТМЛ кода
Спасибо :)

Была мысль так сделать, потом подумал что сервер должен отработать все 4 таблицы, это будет забирать ресурсы. Или если .Visible = false тогда таблица просто не обрабатывается?
...
Рейтинг: 0 / 0
27.08.2004, 08:58
    #32668134
maxapet
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка большого куска ХТМЛ кода
А почему бы не сделать эти куски кода - которые зависят от выбора пользователя - UserControl'ами, и не подгружать их по мере надобности?
Вроде бы, самое логичное. Или я чего-то недогнал?
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Вставка большого куска ХТМЛ кода / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]