单击按钮时隐藏ListView

时间:2015-03-23 15:06:13

标签: c# asp.net listview visible

我的ASP.NET 4.5 WebForms应用程序,我有一个。在它上面我有一个LinkBut​​ton来显示/隐藏LinkView。但是看看ListView的Visible状态是如何不仅仅被改变的,它总是可见的。这是我的代码:

      <asp:LinkButton runat="server" Visible="true" ID="collapseFloorList" Text="Hide" OnClick="collapseFloorList_Click"></asp:LinkButton>

    <asp:Panel ID="floorPanel" runat="server" >

    <asp:ListView runat="server" ID="floorList" 
         ItemType="VincitoreCRMApplication.Models.FloorPattern"
         UpdateMethod="floorList_UpdateItem" DeleteMethod="floorList_DeleteItem"
         SelectMethod="floorList_GetData" DataKeyNames="FloorPatternId" 
         Visible='<%# ShowFloorList %>' >

在Code Behind中,我在PAge中有一个名为ShowFloorList的属性:

    public bool ShowFloorList { get; set; }
    protected void Page_Init(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            ShowFloorList = true;
        }

    }

    protected void collapseFloorList_Click(object sender, EventArgs e)
    {
        System.Diagnostics.Debug.WriteLine("COLLAPSE FLOOR BTN Click Floor List State = " + floorList.Visible + "  BTN TEXT = " + collapseFloorList.Text );

        if (collapseFloorList.Text == "Hide") // Requesting to Hide i.e. Visible to make false
        {
            System.Diagnostics.Debug.WriteLine("INSIDE HIDE");
            ShowFloorList = false;
            System.Diagnostics.Debug.WriteLine("SHOWFLOOR LIST = " + ShowFloorList);
        }
        else
            ShowFloorList = true;
        /*
        if (ShowFloorList == false)
        {
            collapseFloorList.Text = "Show";
            ShowFloorList = false;
            //floorPanel.Visible = false;
            //floorList.Visible = false;
        }
        {
            collapseFloorList.Text = "Hide";
            ShowFloorList = true;
            floorPanel.Visible = true;
            //floorList.Visible = true;
        } */
    }

日志:

 COLLAPSE FLOOR BTN Click Floor List State = True  BTN TEXT = Hide
 INSIDE HIDE
 SHOWFLOOR LIST = False

我尝试将floorLsit直接显示为false,将其添加到面板和放大器中。使面板可见,现在通过属性,但没有任何作用。

你能告诉我为什么我不能隐藏Listview吗? 任何帮助都非常感谢。

由于

2 个答案:

答案 0 :(得分:0)

我的网络形式有点生疏,但我认为你需要:

Visible="ShowFloorList"

答案 1 :(得分:0)

可能是Link按钮实际上是一个链接,然后!IsPostBack始终为false,您是否尝试将LinkBut​​ton更改为asp按钮?

修改

我为您创建了一个示例项目,打开此项目不是作为项目而是作为WebSite打Sample scrollTo and Toggle in jquery
如果您有任何疑问,请不要犹豫。