我正在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"/>
但它不起作用。
答案 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;
}
}