2009-07-10 9 views
1

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

Пример кода:

<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> 

Спасибо.

ответ

3

необходимо обработать событие, связанное с данными элемента. Затем найдите LinkButton и установить его свойство там, как это:

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; 
     } 
    } 
} 

EDIT: - вы можете получить более подробную информацию о пользовательской настройке списка данных во время выполнения here

0

Вы можете даже не нужен код-позади, если вы делаете что-то вроде этого

<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> 
Смежные вопросы