Динамически скрывая элемент от ItemTemplate DataList - PullRequest
1 голос
/ 10 июля 2009

Как мне получить доступ к элементу управления (кнопка link в моем случае), который находится в разделе itemtemplate элемента управления datalist asp? Например: я хочу установить для кнопки ссылки видимое значение false, но не могу понять, как получить ссылку на нее из выделенного кода.

Пример кода:

<asp:datalist id="datalist1" runat="server">
<ItemTemplate>
   <asp:label id="label1" runat="server"></asp:label>
   <asp:linkbutton id="editButton" runat="server" text="Edit"></asp:linkbutton>
</ItemTemplate>
</asp:datalist>

Спасибо.

Ответы [ 2 ]

3 голосов
/ 10 июля 2009

вам нужно обработать событие, связанное с данными элемента. Затем найдите кнопку ссылки и установите ее свойства следующим образом:

protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
     LinkButton lb=e.Item.FindControl("editButton") as LinkButton;
     if(lb!=null){
         if(some condition){
            lb.Visible=false;
         }
     }
}

РЕДАКТИРОВАТЬ: - вы можете получить больше информации о настройке списка данных во время выполнения здесь

0 голосов
/ 10 июля 2009

Возможно, вам даже не понадобится код, если вы сделаете что-то подобное

<asp:datalist id="datalist1" runat="server">
<ItemTemplate>
   <asp:label id="label1" runat="server"></asp:label>
   <asp:linkbutton id="editButton" runat="server" text="Edit" Visible='<%# Eval("SomeBooleanDataElement") %>'></asp:linkbutton>
</ItemTemplate>
</asp:datalist>
...