powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Вставка большого куска ХТМЛ кода
4 сообщений из 4, страница 1 из 1
Вставка большого куска ХТМЛ кода
    #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
Вставка большого куска ХТМЛ кода
    #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
Вставка большого куска ХТМЛ кода
    #32667401
podeig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо :)

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


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