如果查询结果为" 0"则将列表视图中的按钮设置为False。

时间:2014-12-29 10:32:05

标签: c# asp.net visual-studio-2010

我正在ASP.net中构建一个Web应用程序,我有一点问题。

我有一个LISTVIEW来显示来自数据源的数据,并且在该listview中,如果Page_load中的查询结果为0,我在每一行中都包含一个BUTTON,以便显示。

查询有效,但我不知道如何在查询中选择按钮。

我试过了

ListView1.FindControl("hiddenButton").visible = false;

这是按钮代码

<asp:Button ID="hiddenButton" runat="server" CommandArgument ='<%# Eval("ProfileId") %>' Text="Add Friend" CssClass="btn btn-info pull-right" OnClick="addFriend_Click" Width="105px" allign="right"/>

但它不起作用。

2 个答案:

答案 0 :(得分:1)

您可以在ItemDataBound事件中执行此操作: -

protected void ListView1_ItemDataBound(object sender, ListViewItemEventArgs e)
    {
        if (e.Item.ItemType==ListViewItemType.DataItem)
        {
            if (YourCondition)
            {
                Button hdn = (Button)e.Item.FindControl("hiddenButton");
                hdn.Visible = false;
            }
        }
    }

您需要在标记中关联此事件处理程序(如果尚未完成): -

<asp:ListView ID="ListView1" OnItemDataBound="ListView1_ItemDataBound">
       </asp:ListView>               

答案 1 :(得分:0)

您可以使用ItemDataBound事件将按钮设置为True/False

protected void ListView1_ItemDataBound(object sender, ListViewItemEventArgs e)
{
    ListViewDataItem dataItem = (ListViewDataItem)e.Item;

    if (e.Item.ItemType == ListViewItemType.DataItem)
    {
       Button hiddenButton=(Button) dataItem.FindControl("hiddenButton");
       hiddenButton.Visible = false;           

    }

}