Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> findcontrol, listview+findcontrol 
V
    Опции темы
hasbah
Дата 26.10.2010, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 16.9.2008

Репутация: нет
Всего: нет



нужно поймать div в listview
aspx.vb:

Код

Dim item As PlaceHolder = CType(lst_cont.FindControl("lst_cont"), PlaceHolder)
Dim div As HtmlControls.HtmlContainerControl = CType(item.FindControl("div_repair"), HtmlControls.HtmlContainerControl)
div.Visible = False



aspx:
Код

 <asp:ListView ID="lst_cont" runat="server" ItemPlaceholderID="lst_PlaceHolder_cont">
                    <LayoutTemplate>
                        <asp:PlaceHolder ID="lst_PlaceHolder_cont" runat="server"></asp:PlaceHolder> 
                    </LayoutTemplate>
                    <ItemTemplate>
                        <div class="content_middle_all">
                             <div runat="server" id="div_repair"> 
                                  111
                             </div>
                        </div>
                    </ItemTemplate>
                </asp:ListView>


ошибка, которую он выдает:

Сведения об исключении: System.NullReferenceException: В экземпляре объекта не задана ссылка на объект.
Ошибка источника: 
Строка 16:         ShowList()
Строка 17:         Dim item As PlaceHolder = CType(lst_cont.FindControl("lst_PlaceHolder_cont"), PlaceHolder)
Строка 18:         Dim div As HtmlControls.HtmlContainerControl = CType(item.FindControl("div_repair"), HtmlControls.HtmlContainerControl)
Строка 19:         div.Visible = False
Строка 20:         Page.DataBind()
 
PM MAIL   Вверх
Freyzer
Дата 26.10.2010, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


обаятельный нахал
**


Профиль
Группа: Участник
Сообщений: 277
Регистрация: 12.12.2009
Где: на Марсе

Репутация: 1
Всего: 1



Странно у тебя как то получаеться, тег див ты объявляешь классом 
Код

"content_middle_all"

ид присваеваешь 
Код

"div_repair"

 а в коде обращаешься к диву, без имени, я такую проблему пока не решал, но что то тут не так.
И вобще, с такими вопроса в АСП,НЕТ надо идти  smile 


--------------------
Advocatus Dei smile. Advocatus Diaboli smileAjo!   
PM MAIL   Вверх
hasbah
Дата 26.10.2010, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 16.9.2008

Репутация: нет
Всего: нет



Код

 "content_middle_all"


это класс csss
PM MAIL   Вверх
Freyzer
Дата 26.10.2010, 13:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


обаятельный нахал
**


Профиль
Группа: Участник
Сообщений: 277
Регистрация: 12.12.2009
Где: на Марсе

Репутация: 1
Всего: 1



Ну вот тебе кое что в помощь, может поможет 
Код

Dim mv1 As Label = CType(DataList1.Items(0).FindControl("Label1"), Label)
        Dim mv11 As Label = CType(DataList1.Items(2).FindControl("Label1"), Label)
        mv1.ForeColor = Drawing.Color.Red
        mv11.ForeColor = Drawing.Color.Red

вот 
Код

<ItemTemplate>

                <asp:Label ID="Label1" Runat="server" Text='<%# XPath("pubDate") %>'  

                    Font-Size="XX-Small" Font-Names="Broadway"></asp:Label><br />
<AlternatingItemTemplate>

                <asp:Label ID="Label3" Runat="server" Text='<%# XPath("pubDate") %>'




--------------------
Advocatus Dei smile. Advocatus Diaboli smileAjo!   
PM MAIL   Вверх
diadiavova
Дата 26.10.2010, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 1
Всего: 142



hasbah, я конечно не силен в аспнет, но мне почему-то думается, что причина в том, что ты пытаешься это проделать с хтмл-элементом(клиентским) к которому по идее серверная логика неприменима. Попробуй заменить его серверным контролом и посмотри что будет. Если все заработает, значит причина скорей всего в этом.

А вообще вопрос действительно не по разделу, так что переношу.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
hasbah
Дата 26.10.2010, 13:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 16.9.2008

Репутация: нет
Всего: нет



Цитата(diadiavova @ 26.10.2010,  13:37)
hasbah, я конечно не силен в аспнет, но мне почему-то думается, что причина в том, что ты пытаешься это проделать с хтмл-элементом(клиентским) к которому по идее серверная логика неприменима. Попробуй заменить его серверным контролом и посмотри что будет. Если все заработает, значит причина скорей всего в этом.

 

дык я ж присвоил ему id и написал runat="server"  smile 
PM MAIL   Вверх
diadiavova
Дата 26.10.2010, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 1
Всего: 142



Цитата(hasbah @  26.10.2010,  14:48 Найти цитируемый пост)
дык я ж присвоил ему id и написал runat="server"

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


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
hasbah
Дата 26.10.2010, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 16.9.2008

Репутация: нет
Всего: нет



отбой, ребят.сдела.
только вместо div'а использовал Panel

Код

 Public Sub chan(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.ListViewItemEventArgs)
        Dim lvdi As ListViewDataItem = CType(e.Item, ListViewDataItem)
        Dim p As Panel = CType(e.Item.FindControl("pnl_repair"), Panel)
        p.Visible = True
        p.DataBind()
    End Sub


вызывал так:
Код

 AddHandler lst_cont.ItemDataBound, AddressOf chan


мало ли, вдруг кому пригодится (=
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.0723 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.