2014-10-01 2 views
0

У меня есть два asp: ImageButton. Я хочу, чтобы скрыть asp:ImageButton ID="ReceiveButton" на каждой ячейки таблицы, только еслиКак установить видимость элемента управления в ASP.NET внутри элемента управления DataList?

"<%#Eval("StatusID")=="123" %> " что-то вроде этого

Я не знаю, как написать этот условный оператор в файле .aspx. Мой код - это что-то вроде этого.

<td> 
     <%#Eval("StatusID")%> 
</td> 
<td align="center"> 

    <asp:ImageButton ID="ReceiveButton" ToolTip="Receive/process this aproved PO" runat="server"  
    ImageUrl="~/DesktopModules/HBI_PurchaseOrder/Assets/Images/receive.png" 
    CommandName="CommandReceived" /> 

    <asp:ImageButton ID="DetailButton" ToolTip="View Approved PO" runat="server" 
    ImageUrl="~/DesktopModules/HBI_PurchaseOrder/Assets/Images/view.png" CommandName="PODetails" /> 

</td> 

Я пытался что-то вроде,

<td> 
     <%#Eval("StatusID")%> 
</td> 
<td align="center"> 

    <%if (Eval("StatusID") == "123") { %> 
    <asp:ImageButton ID="ReceiveButton" ToolTip="Receive/process this aproved PO" runat="server"  
    ImageUrl="~/DesktopModules/HBI_PurchaseOrder/Assets/Images/receive.png" 
    CommandName="CommandReceived" /> 
    <%} %> 

    <asp:ImageButton ID="DetailButton" ToolTip="View Approved PO" runat="server" 
    ImageUrl="~/DesktopModules/HBI_PurchaseOrder/Assets/Images/view.png" CommandName="PODetails" /> 

</td> 

Но это не работает. Как правильно установить условие? Пожалуйста, помогите мне.

ответ

1

Вы можете использовать Пункт ItemDataBound события DataList

protected void DatalistID_ItemDataBound(object sender, DataListItemEventArgs e) 
{ 
    HiddenField hfStatusID= e.Item.FindControl("hfStatusID") as HiddenField; 
    ImageButton ReceiveButton= e.Item.FindControl("ReceiveButton") as ImageButton; 
    if (hfStatusID!= null && ReceiveButton!=null) 
    { 
     if (hfStatusID.Value == "123") // As per your Requirement 
     { 
      ReceiveButton.Visible= false; 
     } 
    } 
} 

И Возьмите HiddenField на .aspx страницы, как:

<asp:HiddenField ID="hfStatusID" runat="server" Value='<%#Eval("StatusID")%>'/> 
+0

Это работает! Спасибо! – Jarich

+0

Рад помочь вам :) – Pawan

0

Попробуйте это:

Просто добавьте Visible='<%# Eval("StatusID").ToString().Trim()=="123" %>' к вашему контролю ReceiveButton собственности ,

<td> 
    <%#Eval("StatusID")%> 
</td> 
<td align="center"> 

<asp:ImageButton ID="ReceiveButton" ToolTip="Receive/process this aproved PO" runat="server"  
ImageUrl="~/DesktopModules/HBI_PurchaseOrder/Assets/Images/receive.png" 
CommandName="CommandReceived" Visible='<%# Eval("StatusID").ToString().Trim()=="123" %>' /> 

<asp:ImageButton ID="DetailButton" ToolTip="View Approved PO" runat="server" 
ImageUrl="~/DesktopModules/HBI_PurchaseOrder/Assets/Images/view.png" CommandName="PODetails" /> 

</td> 
Смежные вопросы