powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Получить ссылку на серверный элемент страницы.
2 сообщений из 2, страница 1 из 1
Получить ссылку на серверный элемент страницы.
    #38862569
AspUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день! Не могу сообразить как получить ссылку на серверный элемент страницы чтобы задать свойства.
Проблема в том что у меня идентификаторы собираются из строки и я не могу понять как получить для управления элемент с этим id хотя эти элементы заготовленные на странице.
Есть разметка в странице:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
  <!--Служебные объекты--> 
    <section runat="server" id="section_1" class="filter-section"></section>
    <h3 id="h3_filterName_1" runat="server"></h3>
    <span id="span_filterName_1" class="clear clearChecks" runat="server"></span>
    <section runat="server" id="section_2" class="filter-section"></section>
    <h3 id="h3_filterName_2" runat="server"></h3>
    <span id="span_filterName_2" class="clear clearChecks" runat="server"></span>
    <section runat="server" id="section_3" class="filter-section"></section>
    <h3 id="h3_filterName_3" runat="server"></h3>
    <span id="span_filterName_3" class="clear clearChecks" runat="server"></span>


которая в исходном коде страницы выглядит так:
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
 <section id="MainContext_section_1" class="filter-section"></section>
    <h3 id="MainContext_h3_filterName_1"></h3>
    <span id="MainContext_span_filterName_1" class="clear clearChecks"></span>
    <section id="MainContext_section_2" class="filter-section"></section>
    <h3 id="MainContext_h3_filterName_2"></h3>
    <span id="MainContext_span_filterName_2" class="clear clearChecks"></span>
    <section id="MainContext_section_3" class="filter-section"></section>
    <h3 id="MainContext_h3_filterName_3"></h3>
    <span id="MainContext_span_filterName_3" class="clear clearChecks"></span>



в классе страницы в цикле надо получить нужный элемент и задать ему свойства :
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
                int i = 0;
                foreach (DataRow dr in Table.Rows)
                {
                    i++;

                    //string id_prop = dr["СвойствоКод"].ToString();
                    //string name_prop = dr["СвойствоНаименование"].ToString();

                    //HtmlGenericControl section = (HtmlGenericControl)FindControl("MainContext_section_" + i.ToString());
                    //HtmlGenericControl h3 = (HtmlGenericControl)FindControl("MainContext_h3_filterName_" + i.ToString());
                    //HtmlGenericControl span = (HtmlGenericControl)FindControl("MainContext_span_filterName_" + i.ToString());

                    //h3.InnerText = name_prop;
                    //span.InnerText = "Сбросить " + name_prop;

                    //section.Controls.Add(h3);
                    //section.Controls.Add(span);
                 
                    //div_added.Controls.Add(section);
                }


метод FindControl возвращает null. Нельзя как-то получить элемент по собранному id (например "section_" + i.ToString()) зная что элемент с идентификатором "section_1" есть на странице и к нему можно обращаться section_1.InnerText = "то что мне надо".
...
Рейтинг: 0 / 0
Получить ссылку на серверный элемент страницы.
    #38862903
AspUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
методом долгого тыка придумал выход обернуть эти элементы в div
Код: html
1.
2.
3.
4.
5.
 <div id="div_servce" runat="server">
        <section runat="server" id="section_1" class="filter-section"></section>
        <h3 id="h3_filterName_1" runat="server"></h3>
        <span id="span_filterName_1" class="clear clearChecks" runat="server"></span>
</div>


тогда можно искать и наконец-то находит
Код: c#
1.
HtmlGenericControl section = (HtmlGenericControl)div_servce.FindControl("section_" + i.ToString());


Жаль что нельзя более простым вариантом например Controls["h3_filterName_1"]
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Получить ссылку на серверный элемент страницы.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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