Доступ к элементу управления ListView InsertItemTemplate

У меня есть LinkButton в listview InsertItemTemplate. Чью видимость, которую я хочу установить из кода. Я использую этот код, но, кажется, при применении точки останова, что элемент управления не достигает InsertItemTemplate. Он просто остается в ItemTemplate.

protected void Page_Load(object sender, EventArgs e)
{
    if (Session["UserId"].ToString() == Request.QueryString["Id"].ToString())
    {

        foreach (ListViewItem item in lvAlbums.InsertItem.Items)
        {
            LinkButton linkButton = item.FindControl("LinkButton1") as LinkButton;
            if (linkButton != null)
                linkButton.Visible = false;
        }
    }
}

Исходный код:

<form id="form1" runat="server">
                
                            
                    <table border="1">
                       <tr ID="groupPlaceholder" runat="server">
                       </tr>
                    </table>                       
                                                          
            
                    <tr>
                        <td ID="itemPlaceholder" runat="server">
                        </td>
                    </tr>
                          
             
                    <td id="Td3" width="150px" height="150px" align="center" style="background-color: #e8e8e8;color: #333333;">
                    
                     
                    
                    
                    
</td>
<td id="Td3" width="150px" height="150px" runat="server" align="center" style="background-color: #e8e8e8;color: #333333;"> Create New Album1 <%-- Create New Album --%> </td>
  <%----%> </form>
1

1 ответы

Access and modify the LinkButton in ItemTemplate of listview in ItemDataBound instead of page_load

protected void ContactsListView_ItemDataBound(object sender, ListViewItemEventArgs e)
{
    Label EmailAddressLabel;
    if (e.Item.ItemType == ListViewItemType.DataItem)
    {
        LinkButton linkButton = e.item.FindControl("LinkButton1") as LinkButton;
        if (linkButton != null)
            linkButton.Visible = false;
    }
}

Edit, based on comments. You can hide the InsertItem or controls within it on Page_Load.

Скрытие определенного элемента управления в шаблоне InsertItem


Когда вы пытаетесь скрыть все элементы в InsertItemTemplate, вы можете получить доступ к шаблону InsertItem и найти элемент управления в нем с помощью FindControl. У вас есть LinkButton в шаблоне InsertItem с идентификатором LinkButton1 , вы можете скрыть его, сначала найдя в InsertItem

((LinkButton)lvAlbums.InsertItem.FindControl("LinkButton1")).Visible = false;

Скрытие всего шаблона InsertItem


Вы можете полностью скрыть шаблон InsertItem , используя свойство InsertItem Visible .

lvAlbums.InsertItem.Visible = false;
0
добавлено
Вы отлаживали код?
добавлено автор Adil, источник
Проверьте, привязана ли ссылка ContactsListView_ItemDataBound в html
добавлено автор Adil, источник
Я попробовал ваш код .. добавив if (Session ["UserId"]. ToString() == Request.QueryString ["Id"]. ToString ()) {if (e.Item.ItemType == ListViewItemType.DataItem), но он все еще не работал
добавлено автор Arbaaz, источник
точка останова не применяется к protected void ContactsListView_ItemDataBound (отправитель объекта, ListViewItemEventArgs e)
добавлено автор Arbaaz, источник
его lvAlbums_ItemDataBound фактически (я переименовал его) и связан с базой данных. Я хочу проверить значение сеанса и значение строки запроса, если они совпадают, тогда я не хочу, чтобы вставлялась таблица insertitemtemplate. Я добавил кнопку и на событие buttonclick я написал lvAlbums.InsertItem.Visible = false; и он работал отлично. Скрытие insertitemtemplate при загрузке страницы решит мою проблему.
добавлено автор Arbaaz, источник
DotNetRuChat
DotNetRuChat
2 992 участник(ов)

Чат русскоязычного .NET сообщества http://dotnet.ru/ Вам могут быть интересны: @dotnetchat, @cilchat, @fsharp_chat, @pro_net, @xamarin_russia, @microsoftstackjobs, @uwp_ru Флуд в @dotnettalks

Microsoft Stack Jobs
Microsoft Stack Jobs
1 788 участник(ов)

Work & freelance only Microsoft Stack. Feed https://t.me/Microsoftstackjobsfeed Чат про F#: @Fsharp_chat Чат про C#: @CSharpChat Чат про Xamarin: @xamarin_russia Чат общения:@dotnettalks

pro.net
pro.net
710 участник(ов)

Обсуждение .NET Framework и всего, что с ним связано. Правила: не флудить не по теме, уважать ваших коллег и никакой рекламы (объявления о вакансиях можно согласовать с @AlexFails). Флудилка: @dotnettalks Участник @proDOT

Microsoft Developer Community Chat
Microsoft Developer Community Chat
584 участник(ов)

Чат для разработчиков и системных администраторов Microsoft Developer Community. __________ Новостной канал: @msdevru __________ Баним за: оскорбления, мат, рекламу, флуд, флейм, спам, NSFW контент, а также большое количество оффтоп тем. @banofbot

.NET Talks: Force Push Masters
.NET Talks: Force Push Masters
490 участник(ов)

Свободный чат .NET разработчиков. Правила: t.me/dotnettalks/56823 Вам могут быть интересны: @dotnetruchat, @dotnetchat, @cilchat, @fsharp_chat, @pro_net, @dotnetgroup, @xamarin_russia, @microsoftstackjobs, @uwp_ru http://combot.org/chat/-1001128250813

.NET Chat Убежище
.NET Chat Убежище
246 участник(ов)

Чат .NET разработчиков под эгидой MSK/SPB .NET Community Group Вам могут быть интересны: @fsharp_chat, @dotnetruchat, @cilchat, @xamarin_russia, @microsoftstackjobs, @dotnetgroup Флуд в @dotnettalks

.NET CIL Chat
.NET CIL Chat
54 участник(ов)

.NET CIL (aka IL aka MSIL)